У меня есть форма, в которой есть много переключателей, видимых и скрытых. Мне нужно получить только видимые радиокнопки и сделать некоторые манипуляции. Я пытаюсь использовать код ниже. Но это не работает. Может кто-нибудь, пожалуйста, помогите мне в этом. В одной группе есть 4-5 переключателей. Мне нужно проверить, что любой из переключателей в группе отмечен или нет. У меня есть код, который работает как раз наоборот. Мне нужно что-то вроде этого
$(group).find(':radio:visible:not(:checked)').each(function() {...});
Но это дает некоторую ошибку.
У меня есть скрипка. http://jsfiddle.net/jUQYr/45/
На самом деле мне нужно проверить, установлен ли какой-либо из переключателей или нет. Если ничего не выбрано, оно должно отображать ошибку и возвращать false. Если выбраны обе группы радиостанций, он должен вернуть значение true. Но скрипка действует как раз наоборот. Я попытался сделать скрипку с приведенным выше кодом. Но он работает неправильно. Может кто-нибудь, пожалуйста, исправьте скрипку?
Заранее спасибо..
Это то, что вы хотите?
$('button').click(function(){
var returnVal = true;
$.each($('.input-container:visible[data-validation=required]'), function (idx,group) {
var checked = $(group).find(':radio:checked');
$(group).next('ul.innererrormessages').remove();
if (!checked.length) {
var title = $(this).attr('title');
$(group).after('<ul class="innererrormessages"><li>'+title+'</li></ul>');
returnVal = false;
}
});
alert(returnVal);
});
Скрипки:
Разработка: я изменил логику, чтобы сделать то, что вы на самом деле хотите сделать: для каждой видимой группы проверьте, отмечен ли переключатель. Если нет, покажите текст (который теперь указан в теге группы, а не на отдельном переключателе) и возвращает false.
Вы пробовали это:
$(group).find(":radio:visible").not(":checked")