Вопрос

Я использую jQuery.Каскад плагин в моем приложении Asp.Net MVC.У меня все это работает следующим образом:

jQuery("#CompareModelList").cascade("#CompareManufacturerList", {
                ajax: { url: '/Home/Models' },
                template: commonTemplate,
                match: function (selectedValue) { return this.ManufacturerId == selectedValue;},
            });

Однако, когда это срабатывает, оно вызывает действие в моем контроллере с помощью следующего запроса:

http://localhost/Home/Models?val=50

Что я бы предпочел, так это:

http://localhost/Home/Models/50

Теперь в примеры при условии наличия следующего комментария:

Передает выбранное значение родительского параметра select в URL как 'val=', но принимает полный хэш параметров ajax, чтобы вы могли добавлять и другие данные

Итак, я предполагаю, что то, чего я хочу достичь, возможно, но как новичок в jQuery и Ajax я в растерянности относительно того, как это сделать.Кто-нибудь может помочь?

Это было полезно?

Решение

Плагин Cascade создает параметры AJAX по умолчанию (пример: http://docs.jquery.com/Types#Options) которые являются:

    type: "GET",
    dataType: "json",
    success: function(json) { $this.trigger("updateList", [json]); },
    data: $.extend(_ajax.data,ajax.data,{ val: opt.getParentValue(parent) })

Другими словами, измените строку:

ajax: { url: '/Home/Models' }

Для

ajax: { url: '/Home/Models/' + jQuery( '#CompareManufacturerList' ).val() }

вместо этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top