我有一个jQuery插件,有人帮我写。我最初只需要它一次使用,所以硬编码直接在插件中的文本框值查找,但现在我想从我调用它的地方传递该变量,所以我可以多次重复使用相同的插件。
这就是我所拥有的,我将发布两个插件,这样你就会看到我做了什么让它并肩工作。我想传递UserSearch:变量而不是硬编码。
(function ($) {
$.checkMultipleUsers = (function (my) {
my.CheckUsers = function () {
return $.ajax({
type: "POST",
url: "http://localhost:52350/FabRouting/Webservice/UserList.asmx/GetUserCount",
data: JSON.stringify({ UserSearch: $("[id$=txtSubmittedBy]").val() }),
contentType: "application/json; charset=utf-8",
dataType: "json",
});
};
return my;
})({});
})(jQuery);
和
(function ($) {
$.checkMultipleUsers2 = (function (my) {
my.CheckUsers2 = function () {
return $.ajax({
type: "POST",
url: "http://localhost:52350/FabRouting/Webservice/UserList.asmx/GetUserCount",
data: JSON.stringify({ UserSearch: $("[id$=txtOther]").val() }),
contentType: "application/json; charset=utf-8",
dataType: "json",
});
};
return my;
})({});
})(jQuery);
我称之为:
promise = $.checkMultipleUsers.CheckUsers();
promise.success(function (count) {
}
和
promise2 = $.checkMultipleUsers2.CheckUsers2();
promise2.success(function (count) {
}
另外,虽然我发布了这个插件,但它写得不错吗?我不明白为什么它需要checkMultipleUsers和CheckUsers。看起来它是嵌入在另一个函数中的函数,我不明白为什么。
答案 0 :(得分:2)
这不是一个真正的jQuery插件,只需一个普通的功能即可完成。
function CheckUsers(searchValue){
return $.ajax({
type: "POST",
url: "http://localhost:52350/FabRouting/Webservice/UserList.asmx/GetUserCount",
data: JSON.stringify({ UserSearch: searchValue}),
contentType: "application/json; charset=utf-8",
dataType: "json"
});
}
然后你可以像CheckUsers($('#myInput').val());