2010-10-02 88 views
0

我有下面的代碼顯示了一個throbber,並在用戶更改select中的條目時對MVC操作進行getJSON調用。除非列表中有一個默認選擇元素,我不希望getJSON運行,這一切都很好。有條件加載jquery throbber插件

但是,我不能解決如何應用條件邏輯來掛鉤這個事件。條件邏輯顯示爲if(selectedValue == -1)但是,當我將它連接到第一行時,跳動仍在運行。我嘗試刪除掛鉤更改事件的第一行,並在getJSON調用之前使用$ .throbberShow(..)內聯,但出於某種原因,這不會顯示跳動。

任何幫助非常感謝。

$("#selectlist").throbber("change", { ajax: false, image: "images/ajax-loader-line.gif" }); 

       $("#selectlist").change(

        function() { 
         var selectedValue = $("#selectlist").val(); 

         if (selectedValue != -1) { 
          //Tried doing $.throbberShow(...) here without success 
          $.getJSON("/Candidate/GetAddress", { id: selectedValue }, function (data, textStatus) { 
           if (textStatus == "success") { 
            $("#selectlist").val(data.Line1) 
            $("#selectlist").val(data.Line2) 
            $("#selectlist").val(data.Line3) 
            $("#selectlist").val(data.Town) 
           } 
           $.throbberHide(); 
          }); 
         } 

        } 
       ); 

回答

0

更不是作爲活動指示器不支持條件,但這應該工作的解決方案一劈:

$("#selectlist").throbber("change", { ajax: false, image: "images/ajax-loader-line.gif", delay: "500" }); 

$("#selectlist").change(
    function() { 
    var selectedValue = $("#selectlist").val(); 
    if (selectedValue != -1) { 
     $.getJSON("/Candidate/GetAddress", { id: selectedValue }, function (data, textStatus) { 
     if (textStatus == "success") { 
      $("#selectlist").val(data.Line1) 
      $("#selectlist").val(data.Line2) 
      $("#selectlist").val(data.Line3) 
      $("#selectlist").val(data.Town) 
     } 
     $.throbberHide(); 
     }); 
    } else { 
     $.throbberHide(); 
    } 
    } 
);