在等待来自服务器的选择下拉项时,似乎jeditable中的loadtext属性不起作用

时间:2014-04-04 00:49:02

标签: jquery ajax jeditable

我在服务器上使用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);
        }
    });

有什么建议吗?

2 个答案:

答案 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请求返回时,从成功回调中的文档中删除图像。