2010-06-17 1 views
0

У меня есть таблица, которая выглядит нечто вроде этого:Как выбрать элемент `td` в строке, в котором установлен флажок?

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

    ...etc 

То, что я хочу сделать, это получить массив всех td.metric только в строках, которые имеют галочку. Это не работает, как ожидалось:

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

вы пробовали удаление всех спецификаторов кроме td.metric? –

+0

да, но это получает все строки, независимо от установленного флажка. Состояние –

ответ

3

Используйте :has селектор:

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

http://jsfiddle.net/RqjFX/

+0

Теперь вот что я называю сексуальным :) (знаю, я знаю, мне грустно) –

+1

отлично! Спасибо –

Смежные вопросы