Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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
Javascript 收音机盒赢得';无法验证_Javascript_Jquery_Html_Forms_Radio - Fatal编程技术网

Javascript 收音机盒赢得';无法验证

Javascript 收音机盒赢得';无法验证,javascript,jquery,html,forms,radio,Javascript,Jquery,Html,Forms,Radio,我有一系列的广播组,它们都有相同的名字,因为它们是动态生成的。我希望它们是必需的,但我所做的任何事情都无法实现这一点(包括尝试使用jquery计算选中项) 我猜这是因为某种身份冲突 我在HTML中将收音机标记为“必需” 或者这是因为我处理jquery的方式 <div class="benchmark-question-title"><?php echo $atts['content']; ?></div> <div

我有一系列的广播组,它们都有相同的名字,因为它们是动态生成的。我希望它们是必需的,但我所做的任何事情都无法实现这一点(包括尝试使用jquery计算选中项)

我猜这是因为某种身份冲突

我在HTML中将收音机标记为“必需”

或者这是因为我处理jquery的方式

<div class="benchmark-question-title"><?php echo $atts['content']; ?></div>
                    <div class="row">
                        <div class="col-sm-6 col-xs-12">
                            <form class="benchmark-question-binary">
                               <label class="benchmark-yes-no"><input type="radio" name="yesno"  value="yes" required>Yes</label>
                               <label class="benchmark-yes-no"><input type="radio" name="yesno" value="no" checked required>No</label>
                            </form>
                        </div>
                        <div class="col-sm-6 col-xs-12">
                            <span class="benchmark-move-forward italic">If yes, move on to the next movement</span>
                        </div>
                    </div>

无需通过,只需检查组的已检查状态即可

$("input:radio[name='yesno']").is(":checked")


我并不完全理解您想要实现的目标,但是如果您正在寻找一次只能选择一个收音机的默认功能,您只需要在名称中添加括号即可。这样,如果将其中一个收音机标记为默认(因为无法取消选择),则也不必进行任何验证



这不是id的问题,因为您没有在提供的代码中使用id属性。问题可能是您的js代码在document.ready函数中,但您说您是在以友好方式添加这些项。因此,您必须使用延迟对象来处理在页面呈现所有html代码后添加到dom中的项目?明白了$('.benchmark question').each(function(){if($(this).find('input[type=“radio”]:checked').length>0){console.log(“checked”);else{console.log(“not checked”);fail=true;}“太棒了!我在想,因为有多个组,即使名称相同,我也需要迭代。谢谢老板。我的初始测试欺骗了我。如果任何同名的广播组都被选中,上述语句将返回真值。即使其中一些组未被选中。这就是我最初迭代的原因-如果它们都重新启动了如果答案是正确的,那么我的状态会很好。如果这个答案解决了你的问题,请务必接受。
$("input:radio[name='yesno']").is(":checked")
$("input:radio[name='yesno']:checked").val()
<input type="radio" name="yesno[]" value="yes" />
<input type="radio" name="yesno[]" value="no" checked />