0

我正在使用 $jquery ajax 方法来填充数据并在 3 个字段中显示,我对 3 个不同的文本框使用相同的 ajax 方法,To,CC,Bcc,我想使用 1 ajax 方法来填充数据,这里是 tagSource:一个函数调用ajax方法

jQuery(document).ready(function () {
            jQuery("#totags").tagit({
                allowSpaces: true,
                tagSource: function (request, response) {
                    $.ajax({
                        type: "POST",
                        url: "Blog.aspx/GetName",
                        data: "{'match': '" + request.term + "'}",
                        dataType: "json",
                        contentType: "application/json",
                        success: function (data) {
                            console.log(data);
                            if (data.d != null) {
                                response($.map(data.d, function (item) {
                                    return {
                                        label: item.Name,
                                        value: item.id,
                                    };
                                }));
                            }
                        }
                    });
                },
            });
            jQuery("#cctags").tagit({
                allowSpaces: true,
                tagSource: function (request, response) {
                    $.ajax({
                        type: "POST",
                        url: "Blog.aspx/GetName",
                        data: "{'match': '" + request.term + "'}",
                        dataType: "json",
                        contentType: "application/json",
                        success: function (data) {
                            console.log(data);
                            if (data.d != null) {
                                response($.map(data.d, function (item) {
                                    return {
                                        label: item.Name,
                                        value: item.id,
                                    };
                                }));
                            }
                        }
                    });
                },
            });
            jQuery("#bcctags").tagit({
                allowSpaces: true,
                tagSource: function (request, response) {
                    $.ajax({
                        type: "POST",
                        url: "Blog.aspx/GetName",
                        data: "{'match': '" + request.term + "'}",
                        dataType: "json",
                        contentType: "application/json",
                        success: function (data) {
                            console.log(data);
                            if (data.d != null) {
                                response($.map(data.d, function (item) {
                                    return {
                                        label: item.Name,
                                        value: item.id,
                                    };
                                }));
                            }
                        }
                    });
                },
            });
        });
4

2 回答 2

3

您可以使用 jQuery 链接选择器:

jQuery(document).ready(function () {
    jQuery("#totags, #cctags, #bcctags").tagit({
        // ..
    });
});
于 2012-10-22T13:05:19.897 回答
0

在一般情况下将其分配给 var:

var ajaxcall=function(request, response) {
    $.ajax({
        type: "POST",
        url: "Blog.aspx/GetName",
        data: "{'match': '" + request.term + "'}",
        dataType: "json",
        contentType: "application/json",
        success: function(data) {
            console.log(data);
            if (data.d != null) {
                response($.map(data.d, function(item) {
                    return {
                        label: item.Name,
                        value: item.id,
                    };
                }));
            }
        }
    });
};​

       jQuery("#totags").tagit({
            allowSpaces: true,
            tagSource: ajaxcall
        });
        jQuery("#cctags").tagit({
            allowSpaces: true,
            tagSource: ajaxcall
        });
        jQuery("#bcctags").tagit({
            allowSpaces: true,
            tagSource: ajaxcall
        });

在特定情况下,使用 Florent 回答的链。

于 2012-10-22T13:08:51.923 回答