我有下面的代码,当用户更改select中的条目时,它显示了一种搏动,并对MVC操作进行了getJSON调用。这一切都很好用,除了列表中有一个默认的-- select --元素,我不希望为它运行getJSON。
但是,我不知道如何应用条件逻辑来挂钩这个事件。条件逻辑显示为if(selectedValue == -1),但throbber仍然像我在第一行中挂接的那样运行。我尝试删除挂接change事件的第一行,并使用$.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();
});
}
}
);发布于 2010-10-02 16:54:26
与其说它是一个解决方案,不如说它是一个hack,因为throbber不支持条件,但这应该是可行的:
$("#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();
}
}
);https://stackoverflow.com/questions/3844812
复制相似问题