为什么IE不显示JQuery UI对话框表单?

时间:2012-06-01 05:54:32

标签: jquery jquery-ui

我有代码来显示JQuery模式对话框:

        if (jQuery.browser.msie) {
            $("#dialog-form").dialog();
        } else {
            $("#dialog-form").dialog('open');
        }

        $("#dialog-form").dialog({
          autoOpen: false,
          modal: true,
          buttons: {
            Cancel: function () {
                $(this).dialog("close");
            }
          },
          close: function () {
            $(this).dialog("close");
          }
        });

这是HTML:

    <div id="dialog-form" title="Select Employee">
        <form id="dialogForm">
            <fieldset>
                <select id="employeeList"> <option value="0"><%=LocalizedContext.SelectAnEmployeeText%></option> <%=model.EmployeeOptions%> </select> 
            </fieldset>
        </form>
    </div>  

它在FF中显示正常,但是当它在IE中弹出时,对话框就在那里(带有取消按钮),但是下拉列表丢失了。任何想法为什么下拉列表没有出现在IE?

2 个答案:

答案 0 :(得分:1)

试试这段代码..

   if (jQuery.browser.msie) {
            $("#dialog-form").dialog();
        } else {
            $("#dialog-form").dialog('open');
            $('#employeeList').show(); //show the select box explicitly
        }

答案 1 :(得分:0)

您的代码是否嵌入在.ready()方法中?否则它会尝试渲染尚未准备好的div。即。

$(document).ready( function (){
    // your code below
if ($.browser.msie) {
            $("#dialog-form").dialog();
        } else {
            $("#dialog-form").dialog('open');
        }

        $("#dialog-form").dialog({
          autoOpen: false,
          modal: true,
          buttons: {
            Cancel: function () {
                $(this).dialog("close");
            }
          },
          close: function () {
            $(this).dialog("close");
          }
        });

});