javascript删除必需属性不起作用

时间:2013-10-16 23:53:54

标签: javascript jquery

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

$(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
            }
         });            
    });

当我加载页面时如果在点击提交按钮之前点击其中一些页面,一切正常。但是如果我没有做出选择并且检查需要的字段表明我必须选择任何复选框都不起作用。我的意思是它正在工作它删除所需的属性,但是我点击提交没有发生任何事情,我的意思是文本字段仍然需要但不说代码中的哪个字段我可以看到该属性被删除但它没有提交什么,它都停留在同一页面上。

这是输入:

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

1 个答案:

答案 0 :(得分:0)

使用: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);
    });
});

FIDDLE

相关问题