我有一个带输入的服务器表单,选择&无线电,它偶尔需要重置,所以我使用jQuery函数.trigger('reset')
这很好用,除非我似乎无法触发一旦发生的动作。例如我.on("reset")
上的.on("change")
或<select>'s
。
看看下面的例子;单击选择字段并选择一些内容,然后输入名称并单击重置,该值将重置,但reset
上未调用change
或<select>'s
操作。
$('select[name="opt"]').on("click reset change",function(){
var selected = $(this).val();
$(".jobs>div").hide(); // Hide all jobs first.
$(".jobs>."+selected).show(); // Show selected job.
});
$(".reset").on("click",function(){
$('form.theff').trigger("reset");
});
&#13;
.theff * {
display:block;
margin:10px;
}
.jobs>div {
display:none;
background:gray;
padding:5px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="theff">
<input placeholder="Your name..">
<select name="opt">
<option selected>Select Job</option>
<option value="banker">Banker</option>
<option value="programmer">Programmer</option>
</select>
<div class="jobs">
<div class="banker">
Really? a banker?
</div>
<div class="programmer">
Great, your a programmer!
</div>
</div>
<button>Submit</button>
<a href="#" class="reset">Reset</a>
</form>
&#13;
答案 0 :(得分:1)
表单不是select,表单上的触发重置不会触发设置为完全不同元素的事件处理程序。
您可能想要
$(".reset").on("click",function(){
$('form.theff').get(0).reset();
$('select[name="opt"]').trigger('change');
});