我似乎无法弄清楚为什么更改事件会为此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元素。任何帮助将不胜感激。
答案 0 :(得分:8)
遇到类似的问题并尝试了我能找到的所有解决方案。对我来说唯一有效的是在变更检查之前解除绑定(上面的DevPat提到):
jQuery("#wfselect").unbind();
jQuery("#wfselect").change(function() { getWFDetail(); });
答案 1 :(得分:2)
在这样的情况下,在绑定事件处理程序之前使用.unbind()会导致干净的JS。您可以参考jQuery文档