5

我似乎无法弄清楚为什么这个选择元素的更改事件会触发两次:

<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”类的唯一地方是在选择元素中。任何帮助,将不胜感激。

4

2 回答 2

10

有类似的问题并尝试了我能找到的所有解决方案。唯一对我有用的是在更改检查之前取消绑定(上面的 DevPat 提到):

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

于 2015-04-11T20:43:57.150 回答
2

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

于 2013-10-05T12:57:08.647 回答