我有3个下降级联.
区域 – >地区 – >领土
区域 – >地区 – >领土
我正在使用Bootstrap multiselect下拉菜单.
当我选择区域下拉时,将绑定相应的区域
同时新界的地区将受到领土的限制.
这是我的下拉初始化代码.
$('#ddlZone').multiselect({ enableClickableOptGroups: true,enableCollapsibleOptGroups: true,enableFiltering: true,includeselectAllOption: true,nonSelectedText: 'Select Zone',enableCaseInsensitiveFiltering: true,selectAllNumber: true,onChange: function(option,checked,select) { FillRegionsDropdown(); FillTerritoriesDropdown(); }
function FillRegionsDropdown() { var Zone=$('#ddlZone').val(); if(Zone != null) { Zone= Zone.join(","); $.ajax({ type: "POST",contentType: "application/json; charset=utf-8",url: "@Url.Action("BindRegionsOnZonesAjax","GeoMap")",data: "{ZoneIds:'" + Zone + "'}",success: function (Result) { $("#ddlRegion").html(""); $('#ddlRegion').multiselect( 'refresh' ); $.each(Result,function (key,value) { $("#ddlRegion").append($("<option></option>").val(value.Value).html(value.Text)); }); $('#ddlRegion').multiselect( 'rebuild' ); $("#ddlRegion").multiselect('selectAll',false); $("#ddlRegion").multiselect('updateButtonText'); } }); } }
上面的代码工作正常,即在区域下拉列表中更改区域绑定并设置为全选.
但问题是绑定区域下降与区域下拉变化.
以下是Territory下拉列表绑定的代码.
function FillTerritoriesDropdown() { var rgns=$('#ddlRegion').val(); if(rgns != null) { rgns= rgns.join(",url: "@Url.Action("BindTerritoriesOnRegionsAjax",data: "{RegionIds:'" + rgns + "'}",success: function (Result) { $("#ddlTerritory").html(""); $('#ddlTerritory').multiselect( 'refresh' ); $.each(Result,value) { $("#ddlTerritory").append($("<option></option>").val(value.Value).html(value.Text)); }); $('#ddlTerritory').multiselect( 'rebuild' ); $("#ddlTerritory").multiselect('selectAll',false); $("#ddlTerritory").multiselect('updateButtonText'); } }); } }
这里$(‘#ddlRegion’).val()不会更新到由于区域下拉更改而导致的新绑定区域值.
$(‘#ddlRegion’).val()仍然包含初始页面加载区域值.
我现在被震惊了6个多小时.
有人可以帮我解决这个问题吗?