Сводка того, что я пытаюсь сделать: у меня есть список радиоблоков (я получил его с помощью селектора jquery), и я хотел бы получить тот, который проверяется в этом списке, без повторной оценки первого селектора.Пример:
var radioBoxes = $(this).parent().find(":radio");
if (radioBoxes.length > 0)
{
var radioBoxValue = $(this).parent().find(":radio:checked");
//Do something with checked radio value
}
else
{
//I found no radio so to something else
}
Итак, есть ли какой-нибудь селектор, который я мог бы запустить на radioBoxes , чтобы получить проверенное радио?
Если вы хотите узнать больше, вот они.Я реализовал элемент управления, который содержит некоторые флажки, рядом с которыми находится список переключателей:
[x] Java ( )1 (x)2 ( )3
[x] Ajax ( )1 ( )2 ( )3
Но в том же элементе управления у меня также есть флажки, рядом с которыми нет переключателей:
[x] Developper / Programmer
[ ] Technical Analyst
Я бы не хотел делать следующее:
$(':checkbox').click(function(){
if ($(this).parent().find(":radio").length > 0)
{
//I am a checkbox who has radios near to me,
//I want to known which radio is checked if any
var value = $(this).parent().find(":radio:checked").val();
//...
}
else
{
//I am a checkbox who has no radio near to me
//...
}
});
Поскольку я не люблю оценивать как
$(this).parent().find(":radio")
, так и
$(this).parent().find(":radio:checked")
Я хотел бы что-то вроде:
$(':checkbox').click(function(){
var radioBoxes = $(this).parent().find(":radio");
if (radioBoxes.length > 0)
{
var value = radioBoxes.has(":checked");
//...
}
else
{
//...
}
});
Но это не работает.
Кто-нибудь знает, существует ли такая функция в jquery?