全,
我可以使用以下JQuery语法重置我的所有表单元素:
('#myform')[0].reset();我如何修改它以排除"select box“值的重置?
谢谢
发布于 2010-01-06 02:37:59
致所有人..
重置函数不会将所有内容都设置为'‘(空字符串)
它将重置为它们的初始值。(存储在值属性或选定选项等中。)
如果你想保持默认的重置特性,那么你应该
<select>元素示例:
<script type="text/javascript">
$(document).ready(
function(){
$("#resetbutton").click(
function(){
var values = [];
var selected = $("select").each(
function(){
values.push( $(this).val());
});
this.form.reset();
for (i=0;i<selected.length;i++)
$(selected[i]).val(values[i]);
});
}
);
</script>发布于 2010-01-05 07:30:25
这不是jQuery,它是原生javascript。带出实际的DOM元素,因此它与:
document.getElementById('myform').reset();reset()是一个内置的浏览器实现,可以重置整个表单。如果需要重置单个表单类型,请尝试执行以下操作:
$('#myform :text').val('');您可以在此处查看所有表单选择器:http://docs.jquery.com/Selectors
发布于 2010-01-05 07:41:40
您可以通过将值设置为空字符串并使用David's answer (或此more complete one)重置复选框来进行假重置。您还可以尝试在重置表单之前存储每个select元素的值,然后在以下情况下恢复这些值:
var myform = $('#myform');
var selects = $('select', myform);
// Store each current value
selects.each(function() {
$(this).data('previous', $(this).val());
});
myform[0].reset();
// Restore the values
selects.each(function() {
$(this).val($(this).data('previous'));
});https://stackoverflow.com/questions/2002957
复制相似问题