显示 jquery 对话框

发布于 2024-10-26 23:22:18 字数 2775 浏览 1 评论 0原文

Xml

<?xml version="1.0" encoding="utf-8"?>
<Questions>
  <Question>
   <Id>1</Id>
   <Text>aaaa</Text>    
 </Question>
 <Question>
    <Id>2</Id>
    <Text>bbb</Text>    
 </Question>
</Questions>

HTML

<table dir="rtl" width="400px">
           <tr>
                <td>
                    <span id="signuptitle">ques* : </span>
                 </td>
                 <td>
                    <select id="sctQuestion" name="D2">
                        <option></option>
                     </select>
                 </td>
           </tr>

Code1

function PopupUserRegist() {        
     $.ajax({   
     type: "GET",
     url: "../Administrator/Questions.xml",
     success: parseXmlQuestion
     });

    function parseXmlQuestion(xml)
    {
       $(xml).find("Question").each(function()
       { 
          var value=$(this).find('Text').text();      
          $("#sctQuestion").
          append($("<option></option>").
          attr("value",value).
          text(value)); 
    });
   }
 $("#div_userregist").dialog("open");
}

     $(function () {

        $("#dialog:ui-dialog").dialog("destroy");
        $("#div_userregist").dialog({ autoOpen: false,
            buttons: {
                "ok!": function () {                                                  
                }
        }); 
    });

此代码获取 XML 成功。

=================================================== ==========================

Code2

function PopupUserRegist() {        
     $.ajax({   
     type: "GET",
     url: "../Administrator/Questions.xml",
     success: parseXmlQuestion
     });
    function parseXmlQuestion(xml)
    {
      $(xml).find("Question").each(function()
      { 
          var value=$(this).find('Text').text();
          $("#sctQuestion").
             append($("<option></option>").
             attr("value",value).
             text(value)); 
        });
  }     
   $(function () {

        $("#dialog:ui-dialog").dialog("destroy");
        $("#div_userregist").dialog({ autoOpen: true,
            buttons: {
                "ok!": function () {                                                  
                }
        }); 
    });
}

此代码未成功获取 XML。

=================================================== ===============

===================================== ==============================

在 Code1: autoOpen: false 和在 code2: autoOpen: true

在 code1 中获得 xml 成功,但在code2:未获取 xml。

Xml

<?xml version="1.0" encoding="utf-8"?>
<Questions>
  <Question>
   <Id>1</Id>
   <Text>aaaa</Text>    
 </Question>
 <Question>
    <Id>2</Id>
    <Text>bbb</Text>    
 </Question>
</Questions>

HTML

<table dir="rtl" width="400px">
           <tr>
                <td>
                    <span id="signuptitle">ques* : </span>
                 </td>
                 <td>
                    <select id="sctQuestion" name="D2">
                        <option></option>
                     </select>
                 </td>
           </tr>

Code1

function PopupUserRegist() {        
     $.ajax({   
     type: "GET",
     url: "../Administrator/Questions.xml",
     success: parseXmlQuestion
     });

    function parseXmlQuestion(xml)
    {
       $(xml).find("Question").each(function()
       { 
          var value=$(this).find('Text').text();      
          $("#sctQuestion").
          append($("<option></option>").
          attr("value",value).
          text(value)); 
    });
   }
 $("#div_userregist").dialog("open");
}

     $(function () {

        $("#dialog:ui-dialog").dialog("destroy");
        $("#div_userregist").dialog({ autoOpen: false,
            buttons: {
                "ok!": function () {                                                  
                }
        }); 
    });

This code Get XML successes.

==========================================================================

Code2

function PopupUserRegist() {        
     $.ajax({   
     type: "GET",
     url: "../Administrator/Questions.xml",
     success: parseXmlQuestion
     });
    function parseXmlQuestion(xml)
    {
      $(xml).find("Question").each(function()
      { 
          var value=$(this).find('Text').text();
          $("#sctQuestion").
             append($("<option></option>").
             attr("value",value).
             text(value)); 
        });
  }     
   $(function () {

        $("#dialog:ui-dialog").dialog("destroy");
        $("#div_userregist").dialog({ autoOpen: true,
            buttons: {
                "ok!": function () {                                                  
                }
        }); 
    });
}

This code does not Get XML successes.

=================================================================

=================================================================

in Code1: autoOpen: false and in code2: autoOpen: true

in code1 get xml success but in code2: does not get xml.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

娇纵 2024-11-02 23:22:18

当对话框自动打开时,可能是在 XML 完全加载和解析之前。我将在 parseXmlQuestion() 末尾调用该对话框,以便脚本的所有部分的计时都是正确的。

如果您在用户等待时需要加载指示器,请使用如下内容:

$('body').append('<div id="ajaxBusy"><p><img src="images/loading.gif"></p></div>');

// Ajax activity indicator bound to ajax start/stop document events
$(document).ajaxStart(function(){
  $('#ajaxBusy').show();
}).ajaxStop(function(){
  $('#ajaxBusy').hide();
});

When the dialog is autoOpened, it may be before the XML has been fully loaded and parsed. I would call the dialog at the end of parseXmlQuestion() so that the timing is correct for all parts of your script.

If you need a loading indicator while the user waits, use something like this:

$('body').append('<div id="ajaxBusy"><p><img src="images/loading.gif"></p></div>');

// Ajax activity indicator bound to ajax start/stop document events
$(document).ajaxStart(function(){
  $('#ajaxBusy').show();
}).ajaxStop(function(){
  $('#ajaxBusy').hide();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文