ajax单击事件未触发选择选项

我有一个由ajax附加的选择列表(#searchHistory):

var toAppend = '' + eVal + ''; $("#searchHistory").append(toAppend); 

并且为选择框注册了一个点击事件

  $('#searchHistory option').click( function() { var shOpt = $(this); var relVal = shOpt.attr('rel'); alert(relVal); }); 

我的问题是选择框的最后一项不会触发点击事件!!!! 点击后所有其他项目都有效。 有趣的是,当我在APPEND上使用PREPEND时,第一项不会触发点击事件,所有其他项目都可以正常工作。 请注意,选择框由上面的ajax代码填充。 这意味着,如果我在列表框中添加另一个,那么之前的非工作项目运行良好,但最近添加的项目仍然不起作用。

有什么想法吗??? 谢谢

尝试

 $('#searchHistory').change( function() { var shOpt = $(this).find('option:selected'); var relVal = shOpt.attr('rel'); alert(relVal); }); 

附加项目不要激发事件正常,所以你需要“on”方法尝试:

  $(function(){ $('body').on("change","#searchHistory", function() { var shOpt = $(this); var relVal = shOpt.attr('rel'); alert(relVal); 

}); })

jQuery“on”