javascript remove required属性不起作用

javascript remove required属性不起作用,javascript,jquery,Javascript,Jquery,您好,我正在使用以下函数从复选框中删除所需的属性,以防单击任何复选框 $(document).ready(function(){ $(".aboveage5").click(function(){ if ($('input[name="tipo_de_producto_que_fabrica[]"]').val() != "" ) { $('input[name="tipo_de_producto_que_fabrica[]"]')

您好,我正在使用以下函数从复选框中删除所需的属性,以防单击任何复选框

$(document).ready(function(){
    $(".aboveage5").click(function(){
            if ($('input[name="tipo_de_producto_que_fabrica[]"]').val() != "" ) {
                $('input[name="tipo_de_producto_que_fabrica[]"]').removeAttr('required');
                 //Slide Down Effect  
            } else {           
                $('input[name="tipo_de_producto_que_fabrica[]"]').prop('required',true);    //Slide Up Effect
            }
         });            
    });
当我加载页面时,如果我在点击提交按钮之前点击其中的一些页面,一切正常。但是如果我没有进行选择,并且对requred字段的检查表明我必须选择任何复选框,但这些复选框不起作用。我的意思是它正在工作,它删除了所需的属性,但我点击了submit没有发生任何事情,我的意思是一个文本字段仍然是必需的,但没有说明代码中的哪个字段我可以看到该属性被删除,但它没有提交任何内容,它保持在同一页面上

这是输入:

<input type="checkbox" required="required" class="aboveage5"  name="tipo_de_producto_que_fabrica[]" value="Val 1"  />val 1<br />
<input type="checkbox" required="required" class="aboveage5"  name="tipo_de_producto_que_fabrica[]" value="Val 2"  />Val 2<br />
val 1
Val 2

使用
:checked
伪选择器匹配选中框和未选中框

$(document).ready(function () {
    $(".aboveage5").click(function () {
        $('input[name="tipo_de_producto_que_fabrica[]"]:not(:checked)').removeAttr('required');
        $('input[name="tipo_de_producto_que_fabrica[]"]:checked').attr('required', true);
    });
});

你应该使用
.prop('required',false)
而不是
removeAttr
谢谢Barmar,你就是那个人,这很好,我有其他地方的错误,我会调查,但效果很好。