2010-06-17 6 views
0

J'ai une table qui ressemble somethings comme ceci:Comment sélectionner un élément `td` dans une ligne dont la case à cocher est cochée?

<table> 
    <tr class="row even"> 
    <td><input type="checkbox" /></td> 
    <td class="name">foo</td> 
    <td class="metric">22</td> 
    </tr> 

    ...etc 

Ce que je veux faire est d'obtenir un tableau de tous td.metric que dans les lignes qui ont la case cochée. Cela ne fonctionne pas comme prévu:

var ticks = $.map($("tr td input:checked td.metric"), function(v,i){ return ... }); 
+0

Avez-vous essayé d'enlever tous les spécificateurs en plus de la td.metric? –

+0

oui, mais cela obtient toutes les lignes indépendamment de la case à cocher état vérifié –

Répondre

3

Utilisez le sélecteur :has:

$('tr:has(input:checked) > .metric'); 

http://jsfiddle.net/RqjFX/

+0

Maintenant, c'est ce que j'appelle sexy :) (Je sais que je sais, je suis triste) –

+1

parfait! Je vous remercie –

Questions connexes