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 :

Modification de la largeur d'une colonne (th)


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut Modification de la largeur d'une colonne (th)
    Petit script à tester sur un tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
                var th = $('table thead tr').children('th:first');
     
                $(th).width('100');
     
                var before = $(th).width();
     
                $(th).width('50');
     
                var after = $(th).width();
     
                alert(before + ' ' + after);
    Je fixe d'abord la taille à 100 puis à 50.
    Ce qui ne coïncide pas du tout avec les valeurs obtenues.

    Si vous testez vous verrez qu'on obtient comme résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    pour firefox :  deux valeurs égalles
    pour ie : on obtient bien 100 pour la première valeur mais plus que 50 pour la suivante
    Je n'y comprends rien. Et vous ?

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Salut,

    Et comme ceci ? tu obtiens pareil ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var th = $('table thead tr').children('th:first');         
    // ou: var th = $('table thead tr th:first');         
    th.width('100');
    var before = th.width(); 
    th.width('50'); 
    var after = th.width();
    alert(before + ' ' + after);

  3. #3
    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 : 74
    Localisation : Belgique

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

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

    Vous avez raison.

    Voici un exemple (plus jQuery) OK avec F3 et C3.
    Mais IE8 ne réduit pas la taille à 20 mais à la taille minimum, minimum décidé par IE8, ici en fonction du contenu du tfoot.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="Author" content="Daniel Hagnoul" />
        <title>Page type</title>
        <style type="text/css">
            body {
                background-color:#696969;
                color:#000000;
                font-family:Arial, Helvetica, sans-serif;
                font-size:medium;
                font-style:normal;
                font-weight:normal;
                line-height:normal;
                letter-spacing:normal;
            }
            h1,h2,h3,h4,h5 {
                font-family:"Times New Roman", Times, serif;
            }
            div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img {
                margin:0px;
                padding:0px;
            }
            p {
                padding:6px;
            }
            ul,ol,dl {
                list-style:none;
                padding-left:6px;
                padding-top:6px;
            }
            li {
                padding-bottom:6px;
            }
            div#conteneur {
                width:95%;
                margin:12px auto;
                padding:6px;
                background-color:#FFFFFF;
                color:#000000;
                border:1px solid #666666;
                font-size:0.8em;
            }        
            div#affiche {
                margin:12px;
                border:1px solid #999999;
            }
            table#maTable {
                margin:12px auto;
                empty-cells:show;
                border-collapse:collapse;
                border-spacing:0px;
                border-width:1px;
                border-style:solid;
                border-color:#000000;
                background-color:#FFFFFF;
                color:#000000;
                font-size:0.9em;
            }
            table#maTable td, table#maTable th {
                border-width:1px;
                border-style:solid;
                border-color:#999999;
            }
        </style>
        <script type="text/javascript" src="../lib/jquery-1.3.2.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                    var objTH = $("table thead th:first");  
     
                    $(objTH).css({width: 200});
     
                    var before = $(objTH).css("width");
     
                    /*
                     * OK avec F3 et C3.
                     * IE8 ne réduit pas la taille à 20 mais à la taille minimum,
                     * minimum décidé par IE8, ici en fonction du contenu du tfoot
                     */
                    $(objTH).css({width: 20});
     
                    var after = $(objTH).css("width");
     
                    alert(before + ' ' + after);
            });
        </script>
    </head>
    <body>
        <div id="conteneur">
            <table id="maTable">
                <thead>
                    <tr>
                        <th>Nom</th>
                        <th>Salaire<br />en €</th>
                    </tr>
                </thead>
                <tfoot>
                    <tr>
                        <th colspan="2">Un tableau hypothétique.</th>
                    </tr>
                </tfoot>
                <tbody>
                    <tr>
                        <td>Moi</td>
                        <td>1000</td>
                    </tr>
                    <tr>
                        <td>Lui</td>
                        <td>2000</td>
                    </tr>
                    <tr>
                        <td>Autre</td>
                        <td>3000</td>
                    </tr>
                </tbody>
            </table>
            <div id="affiche"></div>
        </div>
    </body>
    </html>

    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.)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message

    Mais IE8 ne réduit pas la taille à 20 mais à la taille minimum
    Le redimensionnement est juste.

    C'est quand on fait :
    que IE ressort la mauvaise valeur selon moi.

    , minimum décidé par IE8, ici en fonction du contenu du tfoot.
    Une solution serait de redimensionner le tfoot en même temps alors ?

    merci

Discussions similaires

  1. [VB.NET][datagrid] Configurer la largeur d'une colonne
    Par arnolem dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/03/2006, 11h48
  2. Réponses: 2
    Dernier message: 02/05/2005, 11h57
  3. Réponses: 2
    Dernier message: 07/04/2005, 11h44
  4. [TListView] Comment connaître la largeur d'une colonne ?
    Par remixtech dans le forum Composants VCL
    Réponses: 8
    Dernier message: 03/04/2005, 13h18
  5. [tableau]largeur d'une colonne
    Par Nadine dans le forum ASP
    Réponses: 2
    Dernier message: 15/03/2005, 21h11

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