我有问题。我选择了名称类别,并输入了代码:
if (localStorage.getItem('category') !== null) {
$('select[name=category]').val(localStorage.getItem('category')).trigger('change');
$('.form-search').submit();
}
如果在本地存储中我有ID,那么我将更改select中的所选值。但是如何提交此表格?我的代码无法正常工作,因为页面重新加载了很多次。
我的表格:
<form method="get" class="form-search">
....
<select name="category">
<option value="1">Auto</option>
<option value="2">Sport</option>
...
</select>
</form>
答案 0 :(得分:0)
由于表单尚未action
,因此浏览器将表单提交到此页面并重新加载页面,并且由于您没有删除localStorage
,因此代码再次运行。因此,您应该在提交表单之前删除localStorage category
。
var category = localStorage.getItem('category');
if (category !== null) {
$('select[name=category]').val(category).trigger('change');
localStorage.removeItem('category');
$('.form-search').submit();
}
答案 1 :(得分:0)
您可能不需要触发器
if(localStorage.getItem('category') !== null) {
$('select[name=category]').val(localStorage.getItem('category'));
$('.form-search').submit(function(e){
e.preventDefault();
});
}
检查代码here