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

В моем приложении MVC у меня есть представление, и я вызвал частичное представление, как показано ниже

Html.RenderPartial("_RulesSelection", selectedRule);

и в частичном представлении "_RulesSelection" я использовал приведенный ниже код

@model string
@{
Layout = null;
}

@Html.RulesListBox(new { @id = "rulesList", @class = "chosen-select", @style = "width:100%" },selectedValues: Model)

<script type="text/javascript">
var config = {
    '.chosen-select': { placeholder_text_multiple: '--All--' },
    '.chosen-select-deselect': { allow_single_deselect: true },
    '.chosen-select-no-single': { disable_search_threshold: 10 },
    '.chosen-select-no-results': { no_results_text: 'Oops, nothing found!'     },
    '.chosen-select-width': { width: "100%" },
}
for (var selector in config) {
    $(selector).chosen(config[selector]);
}
$(".chosen").trigger('liszt:updated');
</script>

Я использовал метод расширения, чтобы заполнить раскрывающийся список в частичном представлении

Теперь, когда страница загружается, загружается раскрывающийся список при частичном просмотре. Мое требование - загружать раскрывающийся список при изменении первого отображаемого раскрывающегося списка, передавая выбранное значение первого раскрывающегося списка. как я могу это сделать?

1 ответ

Вы должны сделать это в Ajax. Вы можете достичь этого примерно так:

$(document).on('liszt:updated', '.chosen', function(e) {
    $.ajax({
        url: 'my-site/controller/action?selectedValue=' + $('.chosen-select', $this).val()        
    }).done(function(data) {
        $('#secondDropDownContainer').html(data);
    });
});

Ваше действие контроллера должно вернуть вашу частичную загрузку.

Другие вопросы по тегам