2012-06-01 96 views
0

我有代碼來顯示一個jQuery模態窗口:爲什麼IE不顯示JQuery UI對話框?

 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中?

回答

1

試試這個代碼..

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

謝謝卡比蘭,雖然沒有運氣 –

0

被嵌入。就緒()方法的代碼?否則,它會嘗試渲染尚未準備好的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"); 
      } 
     }); 

});