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

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Points : 514
    Points
    514
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    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

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    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 ...

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    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 681
    Points : 5 221
    Points
    5 221
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    pfff t'est vraiment un rabat joie JT
    t'aurais pas un script à debugguer ailleurs ?

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Points : 514
    Points
    514
    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

  7. #7
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Ceci étant ce n'est pas un script pour rien car il permet de calculer la longeur d'un texte ce qui peut s'avérer utile dasn certains cas ...
    Je paufine le script et je le colle dans la FAQ ...

+ 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