IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[JS] Taille d'une string en px


Sujet :

JavaScript

Vue hybride

Shivan [JS] Taille d'une string en px 30/06/2006, 18h23
SpaceFrog en bidouillant oui ... genre... 03/07/2006, 08h45
SpaceFrog mmhmhmh ... en fait cette... 03/07/2006, 08h58
javatwister je ne comprends pas bien: Ffx... 03/07/2006, 09h41
SpaceFrog pfff t'est vraiment un rabat... 03/07/2006, 10h06
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut [JS] Taille d'une string en px
    Salut

    J'ai un petit probléme. J'ai une listbox contenant plusieurs option :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <select name="index:form:listUserRoot:listUser:_id53" size="1">
    <option value="Panne identifié par un Technicien">Panne identifié par un Technicien</option>
    </select>
    Je voudrais ajuster la taille de la listbox par rapport à son <option> la plus longue.

    Donc je recupere mon objet listbox je lui met une nouvelle taille... ça pas de probléme.

    Mais quelle taille lui mettre ? il faudrait que je calcule la taille en pixel du plus grand text de la list box ? Peut-on connaitre la taille d'une chaine de caractére en pixel ?

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    en bidouillant oui ...
    genre mettre ton texte dans un div de 10px de large en overflow auto ...
    puis récupérer son scrollWidth
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    mmhmhmh ...
    en fait cette solution ne marcherait que si l'on arrivait à éviter le retour ligne automatique dans le div ...
    alors j'ai contourné le problème en prenant la largeur du div en display inline ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type='text/javascript'>
    function textWidth(mytext){
    document.getElementById('test').innerHTML=mytext
    return document.getElementById('test').offsetWidth
    }
    </script>
    </head>
     
    <body>
    <div id="test" style="display:inline;"></div>
    <input type='text' id='saisie' />
    <input type='button' onclick="alert(textWidth(document.getElementById('saisie').value))" value='largeur pixels' />
    Attention toutefois d'avoir la même taille et fonte de police dasn le select et dasn le div ...

    une solution plus simple est d'avoir une police à espacement constant et en connaitre la largeur d'un caractère, ensuite il suffit de recupérer la longueur du texte et de multiplier ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    je ne comprends pas bien: Ffx comme IE s'adaptent à l'option la plus longue, non?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    pfff t'est vraiment un rabat joie JT
    t'aurais pas un script à debugguer ailleurs ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut
    Merci pour ton aide SapceFrog, ton idée etait excellente. Mais apres aoir lu la réponse de JT, je me suis demandé pourquoi mes select ne s'adaptaient pas. J'avais en faites un width 100% sur mes selects dans mon fichier CSS. Donc en l'enlevant j'ai reslou mon probléme.

    Donc dsl spacefrog de t avoir fait faire des scripts pour rien . Et merci JT pour ta remarque

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fixer la taille d'une String
    Par abj8077 dans le forum Débuter avec Java
    Réponses: 13
    Dernier message: 10/11/2012, 19h48
  2. Mesurer la taille d'une String en pixels
    Par PerpetualSnow dans le forum Silverlight
    Réponses: 7
    Dernier message: 18/02/2009, 16h04
  3. Réponses: 0
    Dernier message: 09/02/2009, 17h45
  4. Réponses: 2
    Dernier message: 14/03/2007, 11h53
  5. [JDBC] Forcer la taille d'une string
    Par julio123 dans le forum JDBC
    Réponses: 4
    Dernier message: 10/06/2004, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo