Плагин Jquery.cascade меняет формат URL Ajax - PullRequest
0 голосов
/ 26 ноября 2009

Я использую плагин jQuery.Cascade в своем приложении 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

Теперь в примерах при условии есть следующий комментарий:

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

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

1 Ответ

2 голосов
/ 26 ноября 2009

Плагин 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() }

вместо.

...