锚定标记的文本不会使用javascript更改
我执行一个ajax函数需要3秒钟以上的时间,所以这次我希望链接的文本(下面是代码,图中是1)更改为“请稍候…”。我尝试了下面的JavaScript代码,但结果是文本没有改变,函数正常执行。请有人指出我的错误 HTML:锚定标记的文本不会使用javascript更改,javascript,jquery,html,Javascript,Jquery,Html,我执行一个ajax函数需要3秒钟以上的时间,所以这次我希望链接的文本(下面是代码,图中是1)更改为“请稍候…”。我尝试了下面的JavaScript代码,但结果是文本没有改变,函数正常执行。请有人指出我的错误 HTML: <a id="emailGarageList" href="javascript:EmailGarageList(347)">Email Garage List...</a> function EmailGarageList(fId) { $('
<a id="emailGarageList" href="javascript:EmailGarageList(347)">Email Garage List...</a>
function EmailGarageList(fId) {
$('#emailGarageList').text('Please wait...');
$.ajax({
type: "POST",
url: "Default.aspx/EmailGarageList",
data: "{'fId':" + fId + ",'userId':" + userId + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert("Garage List Emailed!");
},
error: function () {
alert("Error :(");
}
});
$('#emailGarageList').text('Email Garage List...');
};
把$('#emailGarageList').text('emailGarageList…')代码>在成功函数中。否则它会更改,然后右键返回。移动$('emailGarageList')。text('Email Garage List…')代码>内置$.ajax回调函数。$。ajax是一个异步调用,在完成ajax调用之前,下面的文本会立即更新
function EmailGarageList(fId) {
$('#emailGarageList').text('Please wait...');
$.ajax({
type: "POST",
url: "Default.aspx/EmailGarageList",
data: "{'fId':" + fId + ",'userId':" + userId + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert("Garage List Emailed!");
$('#emailGarageList').text('Email Garage List...');
},
error: function () {
alert("Error :(");
}
});
};
我猜jQuery Mobile(我假设您正在使用)正在修改DOM sso,您的选择器无法按您认为的方式找到$(“#emailGarageList”)。我想您正在寻找:
我认为OP希望显示“电子邮件车库列表…”
,直到ajax调用完成。我认为OP希望显示“电子邮件车库列表…”
,直到ajax调用完成。尽管idrumgods的回答也正确,但我将此标记为已接受,因为它更清楚地解释了我出现问题的原因(提到ajax调用是异步的)。感谢您让我了解jquery mobile:)我使用的是普通的jquery。根据您的屏幕截图,我假设您包括jquery mobile,因为它看起来与jquery mobile应用程序完全相同。
$.ajax({
// other stuff ...
beforeSend: function () {
$('#emailGarageList').text('Please wait...');
}
});