Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 确定是否所有单选按钮组都有一个复选框_Jquery_Radio Button_Validation - Fatal编程技术网

Jquery 确定是否所有单选按钮组都有一个复选框

Jquery 确定是否所有单选按钮组都有一个复选框,jquery,radio-button,validation,Jquery,Radio Button,Validation,我正在做一个测验,每个问题都有一组单选按钮,如下所示: <input type="radio" name="quid16" value="answid53" />Answer 1 : foo <input type="radio" name="quid16" value="answid54" />Answer 2 : bar <input type="radio" name="quid16" value="answid55" />Answer 3 : joe

我正在做一个测验,每个问题都有一组单选按钮,如下所示:

<input type="radio" name="quid16" value="answid53" />Answer 1 : foo
<input type="radio" name="quid16" value="answid54" />Answer 2 : bar
<input type="radio" name="quid16" value="answid55" />Answer 3 : joe
<input type="radio" name="quid16" value="answid56" />Answer 4 : blogs
每个组都有一个id,如上面的quid16;这个id是由PHP生成的,不是固定的

当我验证表单提交时,我需要检查是否所有组都有一个选中单选按钮


问题是我事先不知道组ID。我该如何解决这个问题?

你可以拿走所有的收音机盒子,从quid开始,然后:

过滤唯一的名称 过滤选中的值 比较1。第2节。 代码:

使用获取前缀为'quid'的元素,并选择选中的元素。例如:

$('[name^=quid]').is(':checked'); //Returns true if any radio buttons are 'checked'
下面是一个JSFIDLE示例:


您是使用jQuery验证插件还是从头开始执行此操作?查找所有单选按钮。遍历它们,使用单选按钮名在初始为空的对象中创建属性。如果选中该按钮,请将属性值设置为true,否则保留为null。完成后,具有空值的对象中的属性是未选中的单选按钮。我认为这并没有真正触及问题的核心。但是由于这些测验可能会因页面而异。。。我想这一页上最多只能有一组收音机。@Pointy实际上还有一些我以前没见过的jQuery语言:谢谢杰克。我不知道名字选择器的存在。你帮了我大忙。@Amelia不客气。如果我的答案是足够的,考虑通过点击这个答案旁边的嘀嗒框接受这个答案。是的,我想接受这个答案。你提到的勾选框似乎不在那里。也许是因为这个问题已经结束了?@Amelia,在这个答案附近的数字3下面应该有一个复选标记。查看更多详细信息。请稍候。。。你想按英镑后的数字分组吗?那么这是否意味着无线电组1将是quid01,无线电组2将是quid02,依此类推?是的,这将是分组。然而,第1组不一定是quid01,也可以是quid15 quid169等等。我同意杰克的答案。
if ($('input:radio').is(':checked')) {function()} else {function()}
$('[name^=quid]').is(':checked'); //Returns true if any radio buttons are 'checked'
<input type="radio" name="quid16" value="answid53" />Answer 1 : foo <br/>
<input type="radio" name="quid16" value="answid54" />Answer 2 : bar <br/>
<input type="radio" name="quid16" value="answid55" />Answer 3 : joe <br/>
<input type="radio" name="quid16" value="answid56" />Answer 4 : blogs <br/>
<br/>
<button>Test</button>
<script type="javascript">
    $(function(){

    function isOneChecked(selector)
    {
       return $(selector).is(':checked')
    }

    $('button').click(function(){
        alert(isOneChecked('[name^=quid]') ? 'Validated' : 'Please select a radio    button');
    });
});
</script>