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

jQuery Discussion :

Comment aligner le texte d'une listBox


Sujet :

jQuery

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut Comment aligner le texte d'une listBox
    Bonjour,

    Voici mon code pour générer une listBox à la volée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var $listBox = $("#foo");
    var $newListBox = $('<select id="foo" ></select>');
     
    var i=1000;
    for(i=5; i<10000; i*=10){
    	var $entry = $('<option/>');
    	$entry.val(i);
    	$entry.text(i + " - bla bla bla");
     
    	$newListBox.append($entry);
    }
     
    $newListBox.replaceAll($listBox);
    Le problème est que vu que la chaine générée par la variable i est de taille variable, le text " - bla bla bla" n'est pas aligné : y a t-il une methode pour que tout soit aligné ?


    PS : c'est bien comme ça qu'il faut faire pour généré ma listBox de manière performante ?

    merci d'avance,

  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 637
    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 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var $listBox = $("#foo");
    var $newListBox = $('<select id="foo" ></select>');
    tu as deux id foo ???
    un id doit être unique sur la page ...

    sinon pour l'alignement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .css('text-align','center')
    pourquoi faire un replace et recréer le select alors qu'il te suffit de vider le select avec un empty() et le repeupler ... ???

    http://jsfiddle.net/9eFHs/1/
    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
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    tu as deux id foo ???
    un id doit être unique sur la page ...
    => non, vu que je remplace un bloc par un autre : tant que je ne fais pas un .append(), mon bloque est bien non lié à ma page web ?



    Citation Envoyé par SpaceFrog Voir le message
    sinon pour l'alignement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .css('text-align','center')
    => ce n'est pas ce que je voudrai. Je veux que le caractères '-' de chaque ligne soit les uns en face des autres (verticalement) (remarque : i < 10000 => 4 caractères max). En langage c, ça donnerait un truc du genre : printf("%4s - bla bla bla\n", i);


    Citation Envoyé par SpaceFrog Voir le message
    pourquoi faire un replace et recréer le select alors qu'il te suffit de vider le select avec un empty() et le repeupler ... ???
    Pour éviter le rafraichissement intempestif de la page pendant la création de l’élément... mais je ne sais pas du tout si ça change vraiment quelque chose

  4. #4
    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 637
    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 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Je confirme que avec ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var $listBox = $("#foo");
    var $newListBox = $('<select id="foo" ></select>');
    je confirme que tu as deux ids identiques dans le dom ...

    Sinon pour aligner les - il te faut passer par une font monospace (chasse fixe)
    et html et non text

    http://jsfiddle.net/9eFHs/2/
    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 !

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    ID : il n'y a pas de doublon, lors de l'incorporation dans le DOM le nouveau remplace l'ancien.

    Alignement : il n'y a pas de solution CSS valable dans tous les navigateurs, la solution de SpaceFrog (ajout de caractère insécable) est la seule qui fonctionne partout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var jObjSelect = $( '<select id="foo"></select>' ),
        jObjOption = $( '<option value="0">"0"</option>' );
     
    for ( var i = 5; i < 10000; i *= 10 ){
    	jObjOption
    		.clone( true, true )
    		.val( i )
    		.text( i + " - bla bla bla" )
    		.appendTo( jObjSelect );
    }
     
    jObjSelect.replaceAll( "#foo" );

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  6. #6
    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 637
    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 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    @daniel
    tu veux dire que tant qu'il n'y a pas d'append, l'objet n'est pas dans le DOM ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var $newListBox = $('<select id="foo" ></select>');
    ça parait logique vu que les selecteurs recherchent dans le document, et que sans append l'objet n'est qu'une variable js.

    Par contre nul besoin de faire un replace de la balise select ici vu qu'il s'agit juste d'en modifier le contenu si je ne m'abuse ...
    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 !

  7. #7
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Oui et oui, seul le remplacement du contenu est nécessaire.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    oki merci

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

Discussions similaires

  1. Comment aligner du texte autour d'une image sans créer de CSS
    Par guillaume7684 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 19/05/2014, 21h36
  2. Aligner du texte dans une listbox
    Par Dan3007 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/02/2010, 19h10
  3. [Print]Comment imprimer le texte d'une Jframe???
    Par greg3105 dans le forum Général Java
    Réponses: 4
    Dernier message: 03/04/2005, 19h47
  4. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25
  5. comment ecrire du texte dans une window application
    Par gaut dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 16/07/2003, 10h23

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