我根据 AJAX 和 PHP 返回的搜索结果动态地使用选项值填充选择框。当用户单击动态填充的选择框中的选项之一时,应弹出一个包含表单的对话框,并预先填充了值。该代码在 Mozilla Firefox 中完美运行,但在 IE 中却不行。我简化了 jQuery 代码(删除了表单值的填充部分),如下所示:
$("#user-select").change(function() {
$("#user-select option").click(function() {
$( "#form" ).dialog( "open" );
return false;
});
});
不知道为什么在 IE 中单击选项时不弹出表单。如果您需要更多信息,请告诉我。
最佳答案
不要将点击事件绑定(bind)到选项元素,它不适用于所有浏览器。只需打开对话框并删除点击即可。
$("#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 );
});
此版本使其首先对更改使用react,然后对单击使用react。此外,这是获取该值的更简单的方法。
关于IE 中的 JQuery 动态生成选择框选项值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936398/