Javascript 收音机盒赢得';无法验证
我有一系列的广播组,它们都有相同的名字,因为它们是动态生成的。我希望它们是必需的,但我所做的任何事情都无法实现这一点(包括尝试使用jquery计算选中项) 我猜这是因为某种身份冲突 我在HTML中将收音机标记为“必需” 或者这是因为我处理jquery的方式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
<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 />