如何使用jqueryajax使用checkbox进行级联下拉?

如何使用jqueryajax使用checkbox进行级联下拉?,jquery,asp.net-mvc,cascadingdropdown,bootstrap-multiselect,Jquery,Asp.net Mvc,Cascadingdropdown,Bootstrap Multiselect,尝试使用jQueryAjax实现级联下拉列表(国家、州、城市) 我使用了David Stutzs multiselect jquery。 在国家变更时,我使用jqueryajax从controller获取州列表,并更改州选项。 我能够从控制员处获得基于国家/地区的州列表,但 $('#state').html(state);不更改状态的内容 当我不写$('#state')。多选({ includeSelectAllOption:true }); 开始时,但在$('#state').html(sta

尝试使用jQueryAjax实现级联下拉列表(国家、州、城市) 我使用了David Stutzs multiselect jquery。 在国家变更时,我使用jqueryajax从controller获取州列表,并更改州选项。 我能够从控制员处获得基于国家/地区的州列表,但 $('#state').html(state);不更改状态的内容

当我不写$('#state')。多选({ includeSelectAllOption:true }); 开始时,但在$('#state').html(state)之后;它只工作一次

我猜在应用了这个$(“#state').multiselect之后({ includeSelectAllOption:true }); 未更改状态的内容

    <body>
<div>
    <select id="country" name="country" multiple="multiple">
        @if (ViewBag.country != null)
        {
            foreach (var item in ViewBag.country)
            {
                <option>@item</option>
            }
        }
    </select>
    <select id="state" name="state" multiple="multiple">

    </select>
</div>

<br /><br /><br /><br />
<div id="countrycontent">

</div>
<br /><br /><br /><br />
<div id="statecontent">

</div>

<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script>
<link href="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css" />
<script src="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/js/bootstrap-multiselect.js" type="text/javascript"></script>
<script>

    $(document).ready(function () {
        //to enable multiselect dropdown with checkboxes
        $('#country').multiselect({
            includeSelectAllOption: true
        });
        $('#state').multiselect({
            includeSelectAllOption: true
        });

        //invokes when change event happens on country dropdown
        $('#country').on('change', function () {
            var selected = $("#country option:selected");
            var message = "";
            var country = [];
            var i = 0;


            selected.each(function () {
                country[i] = $(this).val();//gets selected countries
                i++;
            });

            if (country != null) {
                //gets states based on selected countries
                $.ajax({
                    type: 'post',
                    url: '../Home/GetState',
                    data: { country },
                    success: function (result) {
                        var state = '';
                        var message = '';
                        if (result != null) {
                            for (var i = 0; i < result.length; i++) {
                                message += result[i] + '<br/>';
                                state += '<option>' + result[i] + '</option>';
                            }
                        }

                        $('#countrycontent').html(message);

                        $('#state').html(state); //change state's values based on selected countries

                    }

                });
            }


        });

    });
</script>

@如果(ViewBag.country!=null)
{
foreach(ViewBag.country中的var项目)
{
@项目
}
}










$(文档).ready(函数(){ //使用复选框启用多选下拉列表的步骤 $(“#国家”)。多选({ includeSelectAllOption:true }); $(“#状态”)。多选({ includeSelectAllOption:true }); //在国家/地区下拉列表中发生更改事件时调用 $('#country')。on('change',function(){ 所选风险值=$(“#国家/地区选项:所选”); var message=“”; var国家=[]; var i=0; 已选定。每个(函数(){ country[i]=$(this.val();//获取选定的国家/地区 i++; }); 如果(国家/地区!=null){ //获取基于选定国家/地区的状态 $.ajax({ 键入:“post”, url:“../Home/GetState”, 数据:{国家}, 成功:功能(结果){ var状态=“”; var消息=“”; 如果(结果!=null){ 对于(变量i=0;i'; 状态+=''+结果[i]+''; } } $('#countrycontent').html(消息); $('#state').html(state);//根据所选国家/地区更改州的值 } }); } }); });


我想要的是,当国家/地区的选择发生变化时,国家/地区的选项必须根据所选国家/地区而变化

$('#state').multiselect('rebuild');
$('#state').html(state)之后
也许会有帮助