Проверка по крайней мере одного переключателя выбирается из каждой группы (с помощью jquery)
Я динамически вытягиваю и показываю quesitons переключателя на форме (разделенной на разные разделы вкладками jquery).
Итак, есть много переключателей 2, 3, 4, 5 и т.д., которые имеют одно и то же имя, но разные идентификаторы.
Когда вы нажмете рядом между разделами, я хочу проверить, что для каждой группы выбран хотя бы один переключатель.
(Когда форма загружается, радиокнопки по умолчанию не отмечены, и это должно быть таким образом.)
Я могу прокручивать радиокнопки текущего раздела, но я не уверен, как легко проверить, что он был проверен для каждой группы?
Ответы
Ответ 1
При отсутствии какой-либо связи между элементами или как найти имена групп, я могу дать вам указатель, но это должно работать (проверка активируется щелчком по элементу id="nextButton"
, но, очевидно, это может настраиваться на любое другое подходящее событие, например $('form').submit()
):
$(document).ready(
function(){
$('#nextButton').click(
function(){
var radioName = something; // use this if there a relationship between the element
// triggering this check and the radio buttons
if ($('input[name='+ radioName +']:checked').length) {
// at least one of the radio buttons was checked
return true; // allow whatever action would normally happen to continue
}
else {
// no radio button was checked
return false; // stop whatever action would normally happen
}
}
);
}
);
Ответ 2
$("input[@name='the_name']:checked").length;
Ответ 3
if ($("input:checked").length < Num_of_groups)
{
alert ("Please select atleast one radio button in each group");
return false;
}
Ответ 4
Попробуйте это
if ($('input[name='+radioName+']:checked').length == '0'){
// do something
return false;
}
Ответ 5
Входные имена должны быть одинаковыми: sendType
Проверьте это:
$('#submitBtn').click(function(e){
alert ($('input:radio[name="sendType"]:checked').length);
if ($('input:radio[name="sendType"]:checked').length > 0) {
//GO AHEAD
} else {
alert("SELECT ONE!");
e.preventDefault();
}
});
Ответ 6
используйте этот код
не забудьте поставить кнопку за пределы формы
$("#buttonid").click(function(){
var check = true;
$("input:radio").each(function(){
var name= $(this).attr('name');
if($("input:radio[name="+name+"]:checked").length){
check = true;
}
else{
check=false;
}
});
if(check){
$("#formid").submit();
}else{
alert('Please select at least one answer in each question.');
}
});