2

我需要在级联函数中传递多个参数:

// Cascade function
(function ($) {
    $.fn.cascade = function (options) {
        var defaults = {};
        var opts = $.extend(defaults, options);
        return this.each(function () {
            $(this).change(function () {
                var selectedValue = $(this).val();
                if (selectedValue == '') {
                    opts.childSelect.empty();
                    return;
                }
                var params = {};
                params[opts.paramName] = selectedValue;
                $.post(opts.url, params, function (items) {
                    opts.childSelect.empty();
                    if (opts.firstOption != "")
                        opts.childSelect.append(
                            $('<option/>')
                                .attr('value', '')
                                .text(opts.firstOption));
                    $.each(items, function (index, item) {
                        opts.childSelect.append(
                            $('<option/>')
                                .attr('value', item.Id)
                                .text(item.Name)
                        );
                    });
                    if (typeof (opts.callback) == "function") { opts.callback(); }
                });
            });
        });
    };
})(jQuery);

在调用中,我需要传递 makeId 和 categoryId 值:

// bind cascade Make dropdown
$("#Make_Id").cascade({
    url: "/Ad/ListModelByCategoryByMake",
    paramName: "makeId",
    firstOption: 'Selecione o Modelo...',
    childSelect: $("#Model_Id")
});

调用是邮寄的,那么如何调用带有两个参数的级联函数呢?

谢谢。

4

1 回答 1

0

功能:

$.fn.cascade = function (options, param2) {
    /// ....
}

称呼:

$("#Make_Id").cascade({
    url: "/Ad/ListModelByCategoryByMake", // is better to use @Url.Action() helper here
    paramName: "makeId",
    firstOption: 'Selecione o Modelo...',
    childSelect: $("#Model_Id")
}, 'your_second_param');
于 2013-06-28T10:11:55.093 回答