我在服务器上使用jeditable and i am loading a select dropdown(通过ajax加载需要几秒钟)我想在ajax调用运行时显示加载图像或文本,这样人们就知道下拉列表正在从服务器加载。
我看到有一个“indicator”属性可以在将值保存到服务器时显示加载图像或文本(这完美无缺)但由于某种原因,在加载项目时没有工作选项来设置加载消息对于选择下拉列表。
当我查看插件时,我看到一个“loadingtext”属性似乎应该这样做但是当我点击我的文本时我没有看到这个“正在加载......”启动ajax查询以获取下拉列表时显示的文本。
这是我的代码:
$('#person').editable('/Project/UpdatePerson', {
loadurl: '/Project/GetPeople',
type: 'select',
loadtext: '<b>Loading Dropdown...<img src="/Content/Images/ajax-loader.gif" /></b>',
indicator: '<b>Saving...<img src="/Content/Images/ajax-loader.gif" /></b>',
submit: 'OK',
callback : function(value, settings) {
var json = $.parseJSON(value);
$(this).text(json.Value);
}
});
有什么建议吗?
答案 0 :(得分:1)
试试这个,
$(document).ajaxStart(function() {
$('#person').append('<span>Loading..</span>')
});
$(document).ajaxStop(function() {
$('#person').find('span').remove()
});
更新
在jeditable插件中使用此更改ajax代码,
$.ajax({
type : settings.loadtype,
url : settings.loadurl,
data : loaddata,
beforeSend: function(){
if(settings.type == 'select'){
$(self).append('<span>Loading...</span>')
}
},
//async : false,
success: function(result) {
window.clearTimeout(t);
content.apply(form, [result, settings, self]);
$(self).find('span').remove()
input_content = result;
input.disabled = false;
}
});
希望这对你有用。
答案 1 :(得分:-1)
我会手动执行此操作。在启动ajax请求之前,请向您的文档添加加载图像。然后,当ajax请求返回时,从成功回调中的文档中删除图像。