好吧,我很好奇为什么您需要更新隐藏字段并复制数据。但是,如果您坚持,这里有一个“一刀切的解决方案”,尽管您这样做可能会失去一些灵活性,而不是手动附加每个元素。
首先,HTML:
<form id="form">
<input type="text" id="txtName" />
<input type="hidden" id="hdnName" />
<input type="text" id="txtEmail" />
<input type="hidden" id="hdnEmail" />
<select id="selGender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
<input type="hidden" id="hdnGender" />
</form>
现在,Javascript:
$(document).ready(function() {
$("#form").find("input[type='text'], select").change(function() {
$this = $(this);
var id = $this.attr("id");
id = id.split(3, id.length - 1);
$("#hdn" + id).val($this.val())
});
});
为此,它假定您将每个字段都作为text
字段,并且它们遵循我在此处使用的命名约定 ( [txt|sel]FieldName
, hdnFieldName
)