简要说明:在表单上,您可以选择预定义的关联并保存,也可以创建一个新关联然后保存,但不能同时执行。预定义的关联项显示在下拉列表中。
<form id="_jqFormAssociate">
<select id="AssociateId">
<option value="">-- Select --</option>
<option value="1">Associate_1</option>
<option value="2">Associate_2</option>
<option value="3">Associate_3</option>
</select>
<div id="_jqDisablePanel">
<input id="FirstName" type="text">
<input id="LastName" type="text">
<input id="Dob" type="text">
</div>
</form>
$(document).on("change", "#AssociateId", function(){
// if an associate is selected from the drop-down list
// (value of selected option is a numeral greater than 0),
// then disable the "#_jqDisablePanel" else, enable it.
// With disabling the "#_jqDisablePanel"
// the input fields within it must also
// be cleared/reset to default, so I
// used the following:
var panel = $("#_jqDisablePanel");
(panel.find("input")).val("");
(panel.find("select")).val("");
(panel.find("textarea")).val("");
});
1st-Step
创建的记录(预先选择了Associate,其他字段显然为空)。后来我发现这是因为代码,我添加到重置_jqDisablePanel
$(document).on("change", "#AssociateId", function(){
// I needed to use the following
// if condition which was added to
// resolve the problem.
if($("#_jqDisablePanel").is(":enable")) {
var panel = $("#_jqDisablePanel");
(panel.find("input")).val("");
(panel.find("select")).val("");
(panel.find("textarea")).val("");
}
});
我从这一切得到的东西:意识到jQuery代码不仅重新启用了已启用的输入字段,而且还在禁用它们时重置它们,这就是保存表单的原因被张贴。
使用(panel.find("input")).val("")
时,在禁用停止表单的输入字段时发生了什么?
这不是实际的表单,正如我不有权访问代码,但我已经尽力解释这个情景(我想是这样...... )。