Заполнить раскрывающийся список при изменении значения другого раскрывающегося списка
В моем приложении 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);
});
});
Ваше действие контроллера должно вернуть вашу частичную загрузку.