我正在使用以下代码清除表单中的所有输入字段,除了2个选择菜单和一个单选按钮组。
但它清除所有价值观?如何忽略'#selct1', '#select2, '#radios2'
并清除表单中的所有其他输入值?
$('.myinputs')
.not('#selct1', '#select2, '#radios2')
.val('')
.removeAttr('checked')
.removeAttr('selected');
答案 0 :(得分:3)
val('')
将清除元素的内容。您也不需要.removeAttr('selected')
。
// clear input except radio buttons and < select >
$(".myinputs").not('[type=radio],[type=checkbox],select').val('');
// if yo need to reset select menu back to its default value
$('.selectClass').val( $('.selectClass').prop('defaultSelected') );
同时检查this
答案 1 :(得分:0)
$(".myinputs").not('[type=radio],[type=checkbox],select').val('');
答案 2 :(得分:0)
这应该对你有用,它比你使用的代码多一点,但它有效。
$("#btn").on("click", function(){
$(".myinputs").each(function(){
if($(this).attr("id") == ("radio1")){
return true;
}else if($(this).attr("id") == ("select1")){
return true;
}else if ($(this).attr("id") == ("select2")){
return true;
}else{
$(this).val("");
$(this).val([]);
}
});
});
以下是其中的jsfiddle
答案 3 :(得分:0)
在您不想检查的控件(您的收音机和选择控件)中添加一个类(本例中为“DontClear”)。然后,尝试以下功能:
$(".myInputs").each(function(){
if ($(this).hasClass("DontClear"))
continue;
$(this).val("");
});