首页 > 解决方案 > 如何让复选框删除表单中的“必需”验证

问题描述

我想知道如何让复选框删除表单中特定无线电组的“必需”验证。

如果选中该复选框,我不希望强制执行“必需”属性。

这是我现有 HTML 的一个示例:https ://codepen.io/anon/pen/PrbOPK

<label for="Group1_notRequired">Check here to make radio buttons in Gorup 1 NOT required:</label> <input id="Group1_notRequired" name="Group1_notRequired" type="checkbox" value="Group1_notRequired" />
<br><br><br>
<label><input name="Group1" required="" type="radio" value="Option1" />Group 1 Option 1</label>
<label><input name="Group1" required="" type="radio" value="Option2" />Group 1 Option 2</label>
<br><br><br>
<label><input name="Group2" required="" type="radio" value="Option1" />Group 2 Option 1</label>
<label><input name="Group2" required="" type="radio" value="Option2" />Group 2 Option 2</label>

标签: javascriptjqueryhtmlformsvalidation

解决方案


您可以使用.removeAttr().attr()删除/添加属性:

$('#Group1_notRequired').on('change', function(e) {
    if (this.checked == true) {
        $('[name="Group1"]').removeAttr('required');
    } else {
        $('[name="Group1"]').attr('required', '');
    }
    console.log($('[name="Group1"]').parent()[0].outerHTML);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label for="Group1_notRequired">Check here to make radio buttons in Gorup 1 NOT required:</label> <input id="Group1_notRequired" name="Group1_notRequired" type="checkbox" value="Group1_notRequired" />

<br><br><br>

<label><input name="Group1" required="" type="radio" value="Option1" />Group 1 Option 1</label>
<label><input name="Group1" required="" type="radio" value="Option2" />Group 1 Option 2</label>

<br><br><br>

<label><input name="Group2" required="" type="radio" value="Option1" />Group 2 Option 1</label>
<label><input name="Group2" required="" type="radio" value="Option2" />Group 2 Option 2</label>


推荐阅读