4
我有3個下拉是級聯的。 區域 - >區域 - >區域Bootstrap多選下拉列表.val()不更新
我正在使用Bootstrap多選下拉菜單。
當我選擇區域下拉菜單時,相應的區域將被綁定 ,同時新綁定區域的區域將被綁定到區域下拉菜單。
這是我的下拉初始化代碼。
$('#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(",");
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "@Url.Action("BindTerritoriesOnRegionsAjax", "GeoMap")",
data: "{RegionIds:'" + rgns + "'}",
success: function (Result)
{
$("#ddlTerritory").html("");
$('#ddlTerritory').multiselect('refresh');
$.each(Result, function (key, 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個小時了。
有人能幫我解決這個問題?
救了我的命兄弟。謝謝 :) – Lakhae