我已将最初的问题简化为一个可以在JS Fiddle上重现的简单示例。
我有一个模态对话框(#popup
),其中包含一些用类<input>
装饰的V
:
<input class="V" type="number" />
<input class="V" type="text" />
我有一个将每个value
的<input>
属性设置为999并启动此模式的按钮:
<button onclick="edit();">Edit</button>
<script>
edit = () => {
const inputs = $(".V");
inputs[0].setAttribute("value", "999");
inputs[1].setAttribute("value", "999");
$("#popup").modal("show");
}
</script>
在模态中,如果我更改<input>
元素的值并关闭它,则下次我再次启动它时,<input>
将显示更改后的值,而不是999。
为什么会这样?
如果模态包含单个<input>
,并且我使用jQuery的.val()
方法设置值,则问题就不存在。
这是jQuery,您可以这样做:
edit = () => {
const inputs = $(".V");
inputs.val(999);
$("#popup").modal("show");
}