我正在尝试使用以下方法重置表单:
myForm.reset();
我试图以这种方式设置值:
//solved by setting $('#myTextControl').attr('defaultValue', 'my initial value');
//Thanks RobG
$('#myTextControl').val('my value');
$('#myTextControl').attr('value', 'my value');
//solved by setting $('#myTextControl').attr('defaultChecked', false or true); initially
$('#myCheckboxControl')attr('checked', 'checked');
//Finally it works with radios too, as shown here -> http://jsfiddle.net/4VAkp/2/
$('#myRadioControl')attr('checked', 'checked');
更新值的方式很重要,您可以在此处看到 -> http://jsfiddle.net/4VAkp/3/ 使用 attr 更新值会将值修复为默认值: 错误
radio2.attr('checked', true);
text2.attr('value', 'my text2');
这不会将值设置为默认值(如预期的那样): 正确
radio.prop('checked', true);
text.val('my text');
这在用户设置值时工作正常,但如果以编程方式设置值则不起作用。
如果我首先以编程方式设置一个值,然后通过 ui 并最终重置它,它会回到以编程方式设置的状态。
我怀疑应该有一种方法可以在不更改默认值的情况下以编程方式设置值。
有什么想法吗?
提前致谢,
埃里克