这里有两行jQuery
$("input[name=displayPrice1]").attr("value", vPrice);
$("input[name=displayPrice1]").val(vPrice);
这两行都更新了文本类型输入的值。
这是一个 fiddle http://jsfiddle.net/fZm7w/
请按照以下步骤操作:
1. 页面加载后:点击 set attr() - 空输入将取值 150
2. 点击 append row 并再次点击 set attr() - 两个输入都将达到 150
3. 手动更改两个输入中的值 - 例如 500 和 100
4. 点击 set attr() - 显示的值都不会改变,但是 value 属性会改变
5. 单击 set val() - 两个显示的值都将更新,但不会像预期的那样更新 attr 值
为什么当输入为空时 set attr() 会设置屏幕上的值,而当用户已填充内容时却不会?
最佳答案
.val()
给出输入字段中的实际值
.attr()
仅获取输入字段源中的属性值
关于jQuery - 为什么 attr() 不一致地更新屏幕上显示的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19777309/