IE中的JQuery问题,用于动态生成选择框的选项值

时间:2012-01-20 03:26:21

标签: jquery internet-explorer select

我根据AJAX和PHP返回的搜索结果动态填充带有选项值的选择框。当用户单击动态填充的选择框中的一个选项时,将弹出一个包含表单的对话框,预先填充值。该代码在Mozilla Firefox中完美运行,但在IE中则无法运行。我简化了jQuery代码(删除了表单值部分的填充),可以在下面看到:

 $("#user-select").change(function() {
        $("#user-select option").click(function() {
            $( "#form" ).dialog( "open" );
            return false;
        });
  });

在IE中单击选项时,不确定为何不弹出表单。如果您需要更多信息,请与我们联系。

1 个答案:

答案 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 );
});

此版本首先对更改作出反应,然后对点击作出反应。此外,这是一种更容易获得价值的方法。