2

我有一个 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。似乎它是嵌入在另一个函数中的函数,我不明白为什么。

4

1 回答 1

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());

于 2012-07-11T18:40:00.547 回答