必须选择2个单选按钮中的1个才能继续验证

时间:2018-01-05 06:15:11

标签: javascript jquery ajax

需要验证以阻止用户继续下一页。他们必须检查一个单选按钮等。

<div class="">
    <div class="radiho" style="display: block">
        <input type="checkbox" name="speakenglish" value="true" id="speakenglish" class="yeseng">
        <label for="speakenglish" class="radio-label">Yes please.</label>
    </div>
    <div class="rahdio" style="display: block">
        <input type="checkbox" name="speakenglish" value="false" id="dontspeakenglish" class="noeng" checked>
        <label for="dontspeakenglish" class="radio-label"> No thank you, not at this time.</label>
    </div>
</div>

我有一些与.req类一起使用的JS,但这只是让两个盒子都必须检查哪个是错误的。我尝试使用的底部,但页面完全跳过验证,然后进入下一页。

thisObj.find('input[type=checkbox].req').each(function () {

    if ($(this).prop("checked") == false) {
        empty = true;
        $(this).siblings('label').addClass('error');
    }
});

thisObj.find('input[type=checkbox].yeseng' || 'input[type=checkbox].noeng').each(function () {

    if ($(this).prop("checked") == false) {
        empty = true;
        $(this).siblings('label').addClass('error');
    }
});

2 个答案:

答案 0 :(得分:0)

我想你想要的yeseng / noeng选择器:

thisObj.find('input[type=checkbox].yeseng,input[type=checkbox].noeng')

或:

thisObj.find('input[type=checkbox].yeseng').add('input[type=checkbox].noeng')

答案 1 :(得分:0)

最后想出来,所以你必须至少检查一个方框。

    thisObj.find('input[type=radio].engdriver' ).each(function () {

    if(!thisObj.find('input[type=radio].engdriver:checked').val()) {
        empty = true;
        $(this).siblings('label').addClass('error');
    }
});