重置选择一次表单的动作监听器

时间:2016-02-11 17:56:57

标签: javascript jquery html

我有一个带输入的服务器表单,选择&amp;无线电,它偶尔需要重置,所以我使用jQuery函数.trigger('reset')这很好用,除非我似乎无法触发一旦发生的动作。例如我.on("reset")上的.on("change")<select>'s

看看下面的例子;单击选择字段并选择一些内容,然后输入名称并单击重置,该值将重置,但reset上未调用change<select>'s操作。

&#13;
&#13;
$('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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

表单不是select,表单上的触发重置不会触发设置为完全不同元素的事件处理程序。

您可能想要

$(".reset").on("click",function(){
    $('form.theff').get(0).reset();
    $('select[name="opt"]').trigger('change');
});