Jquery 表单重置
Jquery form reset
我有以下函数可以重置表格的一部分:
function changeForm(sel) {
var arr = {
"High-School Student": "hs",
"University Student": "us"
};
$('#' + arr[sel]).show();
delete arr[sel];
$.each(arr, function (key, value) {
var div = '#' + value;
$(div).hide();
$(div + ' :input').each(function () {
$(this).val('');
});
});
}
根据另一个字段中的输入,我显示 div 及其相关字段,并重置所有其他不相关的字段。某些字段具有数组类型的名称:name="field_name[]"
。问题是对于那些字段 $(this).val('');
不会取消选择选定的属性。这种类型的字段是多选的,使用http://zellerda.com/projects/tokenize
我不知道这个插件是否有重置字段的功能,但我的解决方法是在每次关闭时触发点击:
假设这个 HTML :
<div class="tokenize-sample Tokenize" id="tk1">
<ul class="TokensContainer">
<li class="Token" data-value="CH"><a class="Close">×</a><span>Switzerland</span></li>
<li class="Token" data-value="FR"><a class="Close">×</a><span>France</span></li>
<li class="Token" data-value="DE"><a class="Close">×</a><span>Germany</span></li>
<li class="TokenSearch"><input size="5"></li>
</ul>
<ul class="Dropdown" style="display: none;"></ul>
</div>
我会执行这个js:
$("#tk1 .Token .Close").trigger( "click" );
因为组件生成 UL 而不是输入,并且标签中唯一的输入元素是带有 'TokenSearch' class
的输入
$.each(arr, function (key, value) {
var div = '#' + value;
$(div).hide();
$(div + ' :input').val('');
$(div + ' .Token').remove();
});
我有以下函数可以重置表格的一部分:
function changeForm(sel) {
var arr = {
"High-School Student": "hs",
"University Student": "us"
};
$('#' + arr[sel]).show();
delete arr[sel];
$.each(arr, function (key, value) {
var div = '#' + value;
$(div).hide();
$(div + ' :input').each(function () {
$(this).val('');
});
});
}
根据另一个字段中的输入,我显示 div 及其相关字段,并重置所有其他不相关的字段。某些字段具有数组类型的名称:name="field_name[]"
。问题是对于那些字段 $(this).val('');
不会取消选择选定的属性。这种类型的字段是多选的,使用http://zellerda.com/projects/tokenize
我不知道这个插件是否有重置字段的功能,但我的解决方法是在每次关闭时触发点击:
假设这个 HTML :
<div class="tokenize-sample Tokenize" id="tk1">
<ul class="TokensContainer">
<li class="Token" data-value="CH"><a class="Close">×</a><span>Switzerland</span></li>
<li class="Token" data-value="FR"><a class="Close">×</a><span>France</span></li>
<li class="Token" data-value="DE"><a class="Close">×</a><span>Germany</span></li>
<li class="TokenSearch"><input size="5"></li>
</ul>
<ul class="Dropdown" style="display: none;"></ul>
</div>
我会执行这个js:
$("#tk1 .Token .Close").trigger( "click" );
因为组件生成 UL 而不是输入,并且标签中唯一的输入元素是带有 'TokenSearch' class
的输入$.each(arr, function (key, value) {
var div = '#' + value;
$(div).hide();
$(div + ' :input').val('');
$(div + ' .Token').remove();
});