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")
});

呼び出しはポストで行われますが、2 つのパラメーターを指定してカスケード関数を呼び出すにはどうすればよいですか?

ありがとう。

4

1 に答える 1