在我的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>
我使用了一种扩展方法来填充局部视图中的下拉列表
现在加载页面时,部分视图中的下拉列表会加载, 我的要求是通过传递第一个下拉列表的选定值,在视图中的第一个下拉列表中发生更改时加载下拉列表。我怎么能这样做?
答案 0 :(得分:0)
你应该在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);
});
});
您的控制器操作应该返回部分加载。