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>
代码1
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成功。
=============================================== ===========================
代码2
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。
答案 0 :(得分:0)
当对话框是autoOpened时,可能是在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();
});