我有一系列无线电组,它们都是同名的,因为它们是动态生成的。我希望它们是必需的,但我正在做的就是实现这一点(包括尝试用jquery计算已检查的项目)。
我猜这是由于某种ID冲突?
我在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>
当我尝试查看是否有任何名为“yesno”的广播组未使用jquery进行检查时,它似乎无法识别这些组并单独计算每个选项。
$('input:radio[name=yesno]').each(function(){
if ( $(this).is(":checked") ){
console.log('checked')
}
else{
console.log('not checked');
}
});
答案 0 :(得分:0)
无需通过检查,只需检查组的已检查状态。
$("input:radio[name='yesno']").is(":checked")
或
$("input:radio[name='yesno']:checked").val()
Using JQuery to check if no radio button in a group has been checked
答案 1 :(得分:0)
我没有关注你想要完成什么,但是如果你正在寻找一次只能选择一个无线电的默认功能,你只需要在名称中添加括号。这样做,如果您将其中一个无线电标记为默认值(因为它们无法取消选择),您也不必进行任何验证。
<input type="radio" name="yesno[]" value="yes" />
<input type="radio" name="yesno[]" value="no" checked />