在Chrome中选择jquery-1.9.1会触发两次更改事件

时间:2013-10-05 12:32:00

标签: jquery

我似乎无法弄清楚为什么更改事件会为此select元素触发两次:

<form name="contactform">
  <label for="requesttype">Request Type:</label>            
  <select name="requesttype" class="reqtype">
     <option value="1" selected>General Comment / Request</option>
     <option value="2">No Cost Services Quote</option>
  </select>
</form>

使用此jquery代码时:

$(function() {
    $(".reqtype").change(function(){
        alert($(".reqtype option:selected").val());
    })
});

我仔细检查了我使用“reqtype”类的唯一地方是select元素。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:8)

遇到类似的问题并尝试了我能找到的所有解决方案。对我来说唯一有效的是在变更检查之前解除绑定(上面的DevPat提到):

jQuery("#wfselect").unbind(); 
jQuery("#wfselect").change(function() { getWFDetail(); });

答案 1 :(得分:2)

在这样的情况下,在绑定事件处理程序之前使用.unbind()会导致干净的JS。您可以参考jQuery文档