removeattr不使用parsley.js

时间:2014-06-09 11:17:19

标签: javascript jquery parsley.js

removeAttr无法正常运行

<input name="phoneno" type="text" class="configradio" id="phoneinput" size="40" data-required="true" data-fixlength10="[10]" data-type="digits"/>

$('#auth_type').on('change',function(){
var typename=document.getElementById('auth_type').value;
$('#resultform').parsley('destroy');
if(typename=="some value"){

$('#phoneinput').removeAttr('data-required');
}
else{
    $('#phoneinput').Attr('data-required',true);
}
$('#resultform').parsley();
});

请提供一些反馈。

1 个答案:

答案 0 :(得分:0)

而不是removeAttr()使用removeData()

$('#phoneinput').removeData('required');

此处还有一个语法错误Attr a 是大写的,应该是小写的attr,而是使用prop,因为这是设置布尔值:

$('#phoneinput').prop('data-required',true);

或更好地使用data()

$('#phoneinput').data('required', true);

尝试使用此代码:

$('#auth_type').on('change', function () {
    var typename = this.value;
    $('#resultform').parsley('destroy');
    if (typename == "some value") {
        $('#phoneinput').removeData('required');
    } else {
        $('#phoneinput').data('required', true);
    }
    $('#resultform').parsley();
});