收音机无法验证

时间:2016-02-16 19:13:11

标签: javascript jquery html forms radio

我有一系列无线电组,它们都是同名的,因为它们是动态生成的。我希望它们是必需的,但我正在做的就是实现这一点(包括尝试用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');
    }
});

2 个答案:

答案 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 />