Javascript jQuery-如何在复选框更改时移除Prop?
我有一个复选框,用于使用jQuery切换输入字段是否为“必需”。这是基础遵守验证的一部分。因此,在输入字段的末尾需要添加/删除单词“required” 默认情况下,该框处于选中状态。当用户取消选中该框时,它会将“必需”添加到输入中。但是,如果重新检查该框,“removeProp”不会删除“required”。我在这件事上做错了什么?我尝试了prop和attr函数,得到了相同的结果Javascript jQuery-如何在复选框更改时移除Prop?,javascript,jquery,attr,required,prop,Javascript,Jquery,Attr,Required,Prop,我有一个复选框,用于使用jQuery切换输入字段是否为“必需”。这是基础遵守验证的一部分。因此,在输入字段的末尾需要添加/删除单词“required” 默认情况下,该框处于选中状态。当用户取消选中该框时,它会将“必需”添加到输入中。但是,如果重新检查该框,“removeProp”不会删除“required”。我在这件事上做错了什么?我尝试了prop和attr函数,得到了相同的结果 <input type="checkbox" id="billing" checked> <in
<input type="checkbox" id="billing" checked>
<input type="text" id="b_name" pattern="alpha" required>
$('#billing').change(function() {
// Same as Shipping Address
if ($(this).is(':checked')) {
$('#b_name').removeProp('required');
}
else if (!$(this).is(':checked')) {
$('#b_name').prop('required', true);
}
});
$('#计费')。更改(函数(){
//与送货地址相同
如果($(this).is(':checked')){
$('b#u name')。removeProp('required');
}
如果(!$(this).is(':checked'),则为else{
$('b#u name').prop('required',true);
}
});
试试这个:
$('#billing').change(function() {
// Same as Shipping Address
if ($(this).is(':checked')) {
$('#b_name').prop('required', false);
}
else {
$('#b_name').prop('required', true);
}
});
你可以清楚地看到那里的行为。一旦删除属性,就不会再添加属性 您可以看到中提到的相同案例 正如上面所说的- 注意:不要使用此方法删除本机属性,例如已选中、已禁用或已选择。这将完全删除该属性,一旦删除,就不能再次添加到元素中。使用.prop()将这些属性改为false 因此,您可以在选中和取消选中时将其设置为false和true,而不是完全删除该属性
$('#计费')。更改(函数(){
//与送货地址相同
如果($(this).is(':checked')){
$('b#u name').prop('required',false);
}
如果(!$(this).is(':checked'),则为else{
$('b#u name').prop('required',true);
}
});代码>
只需将其设置为False即可。我可以发誓我早就试过了。感谢您的快速回复。请在指定的最短时间内等待,然后再让我回复。:)@斯科特布雷尔:没问题:)