Javascript jQuery代码,每次单击save时都将所有内容设置为默认值
我有一个带有复选框的表单;当我选中该复选框时,它将禁用另一个表单,该表单是可选的联系人表单,并在第一个表单中设置值,该表单是 主触点到备用触点。但是,当我取消选中它时,请删除“禁用” 并将替代形式中的值设置为默认值。我的代码(我在下面提供)遇到的问题是每次我点击save时,复选框都被取消选中。它将插入的值设置为默认值,默认值为空字符串Javascript jQuery代码,每次单击save时都将所有内容设置为默认值,javascript,jquery,jquery-events,Javascript,Jquery,Jquery Events,我有一个带有复选框的表单;当我选中该复选框时,它将禁用另一个表单,该表单是可选的联系人表单,并在第一个表单中设置值,该表单是 主触点到备用触点。但是,当我取消选中它时,请删除“禁用” 并将替代形式中的值设置为默认值。我的代码(我在下面提供)遇到的问题是每次我点击save时,复选框都被取消选中。它将插入的值设置为默认值,默认值为空字符串 $(".AlternativeContactFields").removeAttr("disabled"); $(".AlternativeContactFiel
$(".AlternativeContactFields").removeAttr("disabled");
$(".AlternativeContactFields").each(function (index, element) {
if ($(element).is("input")) {
$(element).val("");
} else if ($(element).is("select")) {
$(element).val(1);
}
});
我怎样才能解决这个问题?我想这就是你想要的
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#save').click(function() {
$(".AlternativeContactFields").removeAttr("disabled");
$(".AlternativeContactFields").each(function (index, element) {
if ($(element).is("input")) {
// read the type attribute.
var type = $(element).attr('type');
switch(type) {
case 'checkbox':
case 'radio':
// uncheck box
$(element).prop('checked', false);
break;
case 'text':
default:
$(element).val("");
break;
}
} else if ($(element).is("select")) {
$(element).val(1);
}
});
});
});
</script>
<input type="button" value="Save" id="save"/><br/>
<input disabled="disabled" type="checkbox" checked="checked" value="My checkbox 1" class="AlternativeContactFields"/>My checkbox 1<br/>
<input disabled="disabled" type="checkbox" value="My checkbox 2" class="AlternativeContactFields"/>My checkbox 2<br/>
<input disabled="disabled" type="text" value="My textbox value 1" class="AlternativeContactFields"/><br/>
<input disabled="disabled" type="text" value="My textbox value 2" class="AlternativeContactFields"/><br/>
<select disabled="disabled" class="AlternativeContactFields">
<option value="0">my Option 0</option>
<option value="1">my Option 1</option>
<option value="2">my Option 2</option>
</select>
$(文档).ready(函数(){
$(“#保存”)。单击(函数(){
$(“.AlternativeContactFields”).removeAttr(“已禁用”);
$(“.AlternativeContactFields”)。每个(函数(索引,元素){
if($(元素).is(“输入”)){
//读取type属性。
变量类型=$(元素).attr('type');
开关(类型){
案例“复选框”:
“无线电”案例:
//取消复选框
$(元素).prop('checked',false);
打破
案例“文本”:
违约:
$(元素).val(“”);
打破
}
}else if($(元素).is(“选择”)){
$(元素).val(1);
}
});
});
});
我的复选框1
我的复选框2
我的选择0
我的选择1
我的选择2
请删除C#标记。如果我理解这个问题,问题是复选框也是一个输入元素。因此,当您擦除文本输入元素的值时,它也会擦除radio/CheckBox的标题。您可以调用表单上的reset()
,将其还原为原始值。