Trois questions sur la manipulation de table avec jQuery

voix
-2
  1. comment mettre en évidence la ligne lorsque la souris est activée, puis dé-highlight lorsque la souris sort

  2. comment mettre à jour une ligne spécifiée avec de nouvelles valeurs?

  3. comment obtenir le nombre de lignes dans le tableau?

EDIT : celui avec la meilleure réponse pour q2 sera marqué comme réponse à ce post :)

Créé 27/08/2009 à 07:01
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
2

Un:

$('#mytable').find('tr').hover(function() {
    $(this).addClass('active');
}, function() {
    $(this).removeClass('active');
});

Avec ce CSS:

#mytable tr.active td {
    background-color: #ccc;
}

Deux:

Vous avez dit un jour « ligne », mais tout ce que vous pouvez vraiment mettre à jour est les cellules, sauf si vous voulez créer des cellules entières nouvelles.

$(cell).html('Contents');

Ou:

var $cell = $('<td>').html('Contents');
$(row).html($cell);

Ou si une ligne de la table dispose de 3 cellules, pour mettre à jour la première:

$(row).find('td').eq(0).html('Contents');

Trois:

$('#mytable').find('tr').length;
Créé 27/08/2009 à 07:03
source utilisateur

voix
1

Pour la première question:

$("#table1 tr").hover(
   function()
   {
    $(this).addClass("highlight");
   },
   function()
   {
    $(this).removeClass("highlight");
   }

Pour la troisième question:

var count = $("table1 tr").length
Créé 27/08/2009 à 07:03
source utilisateur

voix
0

1 . http://docs.jquery.com/Events/mouseover

Je crois que vous pouvez utiliser ou .hover.

$('tr').mouseover(function() {

    $(this).addClass('over');

}).mouseout(function() {

    $(this).removeClass('over');

});

Et ajouter une plus classe dans votre CSS.

2 . Vous ne mettez pas à jour une ligne, vous mettez à jour les cellules de table à l' intérieur de la ligne.

$('tr:first td:first').text( 'something' )

3 .

alert( $('table tr').length ); // count all descendant table rows
Créé 27/08/2009 à 07:02
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more