我根据AJAX和PHP返回的搜索结果动态填充带有选项值的选择框。当用户单击动态填充的选择框中的一个选项时,将弹出一个包含表单的对话框,预先填充值。该代码在Mozilla Firefox中完美运行,但在IE中则无法运行。我简化了jQuery代码(删除了表单值部分的填充),可以在下面看到:
$("#user-select").change(function() {
$("#user-select option").click(function() {
$( "#form" ).dialog( "open" );
return false;
});
});
在IE中单击选项时,不确定为何不弹出表单。如果您需要更多信息,请与我们联系。
答案 0 :(得分:2)
不要将click事件绑定到选项元素,它不适用于所有浏览器。只需打开对话框并删除单击即可。
$("#user-select").change(function() {
$( "#form" ).dialog( "open" );
});
编辑评论:
function selectHandler () {
$( "#form" ).dialog( "open" );
var val = $( this ).val();
}
$( "#user-select" ).one( "change", function ( ) {
selectHandler();
$( this ).click( selectHandler );
});
此版本首先对更改作出反应,然后对点击作出反应。此外,这是一种更容易获得价值的方法。