Условно загрузить плагин jquery throbber - PullRequest
0 голосов
/ 02 октября 2010

У меня есть код ниже, который показывает пульсатор и вызывает getJSON для действия MVC, когда пользователь изменяет запись в выборе.Все это прекрасно работает, за исключением того, что в списке есть элемент по умолчанию - select -, для которого я не хочу запускать getJSON.

Однако я не могу понять, как применить условную логику кзацепить это событие.Условная логика показана как if(selectedValue == -1) Но пульсатор все еще работает, поскольку я подключил его в первой строке.Я попытался удалить первую строку, которая перехватывает событие изменения, и использовать встроенный $ .throbberShow (..) непосредственно перед вызовом getJSON, но по какой-то причине это не отображает трепетер.ценится.

$("#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();
                            });
                        }

                    }
                );

1 Ответ

0 голосов
/ 02 октября 2010

Это скорее взлом, чем решение, поскольку троббер не поддерживает условия, но это должно работать:

$("#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();
    }
  }
);
...