ins*_*ere 5 html javascript forms jquery
是否可以仅恢复表单的一部分?例如,我想重置fieldset#1 中的所有内容,但保留fieldset#2 中的所有其他值:
<form>\n <fieldset id="1">\xe2\x80\xa6</fieldset>\n <fieldset id="2">\xe2\x80\xa6</fieldset>\n</form>\nRun Code Online (Sandbox Code Playgroud)\n\n我当然可以使用像这样的 JavaScript-/jQuery-解决方案(用心写,未经测试):
\n\n$(\'#1 :input\').val(\'\');\nRun Code Online (Sandbox Code Playgroud)\n\n但这不会恢复之前设置的默认值。或者我必须事先存储所有默认值,并且必须检查文本区域、输入、复选框等\xc2\xa0\xe2\x80\xa6 有另一种方法可以做到这一点吗?
\n不确定这是否是您的意思,但这将过滤所有没有 of 的字段集id,two然后将这些字段集中的表单元素重置为其默认值(请注意,这只defaultValue适用于输入/文本区域!):
$(document).ready(function() {
$('#btn-reset').on('click', function(e) {
e.preventDefault();
$('form > fieldset').filter(function() {
return $(this).prop('id') !== 'two';
}).children(':input').each(function() {
$(this).val(this.defaultValue);
});
});
});
Run Code Online (Sandbox Code Playgroud)
示例标记
<form>
<fieldset id="one">
<input type="text" value="this is a default value" />
<textarea>this is another default value</textarea>
<p>this paragraph doesn't get looped over</p>
</fieldset>
<fieldset id="two">
<input type="text" value="text here.." />
<textarea>hello world!</textarea>
</fieldset>
<button id="btn-reset">Reset</button>
</form>
Run Code Online (Sandbox Code Playgroud)
更改所有值,然后单击“重置”,第一个字段集中的所有值将重置为其默认值,而第二个字段集中的值将保持不变。
| 归档时间: |
|
| 查看次数: |
9718 次 |
| 最近记录: |