2010-05-17 2 views

ответ

7
$('#table tbody tr input[type=radio]').each(function(){ 
alert($(this).attr('checked')); 
}); 

HTH.

+3

'#table> tr' подавится на некоторых браузерах (хром/Firefox), которые хотели бы добавить свои собственные' tbody' элементы , тогда как '#table tr' не будет. – karim79

+0

@ karim79 - изменен – Sunny

+0

Вы также можете использовать селектор ': radio' (http://api.jquery.com/radio-selector/) – Mottie

3

вы хотите обработать каждую кнопку радио или вам нужно только проверенные те ли? В последнем случае, это довольно легко:

$('table input:radio:checked') 

Ссылка: :radio, :checked

+0

+1. Поиск Afaik jQuery идет справа налево, поэтому весь 'thead tr td' не нужен, если единственным условием является то, что они должны быть в таблице. И ': radio' и': checked' являются самыми «элегантными» селекторами в этом случае. – Alec

4

Есть много способов сделать это, например, с использованием .each и метод .is обхода:

$("table tbody tr td input[name=something]:radio").each(function() { 
    if($(this).is(":checked")) { 
     $(this).closest("tr").css("border", "1px solid red"); 
    } else { 
     // do something else 
    } 
}); 
+0

Я дам +1, если вы скажете мне, если это будет хорошо гарантировано, что все (поддерживаемые jQuery) браузеры надежно вставляют отсутствующий ''. – user113716

+1

@patrick - Нет, это не тот случай. Это означает, что мой селектор сломался некоторое время. Это означает, что я сейчас отредактирую этот ответ. Черт побери, но спасибо, я должен уделять больше внимания моим собственным ответам в будущем :) – karim79

+0

Спасибо за ответ. +1 для исправленного ответа. – user113716

1
//get the checked radio input, put more specificity in the selector if needed 
var $checkedRadio = $("input[type=radio]:checked"); 

//if you want the value of the checked radio... 
var checkedRadioVal = $checkedRadio.val(); 
3

Чтобы перебрать все радио проверили радио-кнопки, вы также можете сделать это:

$('input:radio:checked').each(function() { 
    //this loops through all checked radio buttons 
    //you can use the radio button using $(this) 
}); 
+0

Идеальное решение для меня. благодаря :) –

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