계단식 드롭 다운이 3 개 있습니다. 영역 -> 영역 -> 영역부트 스트랩 다중 선택 드롭 다운 .val() 업데이트되지 않음
부트 스트랩 다중 선택 드롭 다운을 사용하고 있습니다.
영역 드롭 다운을 선택하면 각각의 영역은 에 바인딩되며 동시에 새로 바인딩 된 영역의 영역은 영역 드롭 다운에 바인딩됩니다.
여기 내 드롭 다운 초기화 코드입니다.
$('#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');
}
});
}
}
위의 코드는 영역 드롭 다운에서 영역 바인딩을 변경하고 모두 선택하도록 완벽하게 작동합니다.
하지만 문제는 영역 드롭 다운 변경으로 영역 드롭 다운을 바인딩하는 것입니다.
다음은 지역 드롭 다운 바인딩을위한 코드입니다. 여기에 $('#ddlRegion').val()
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()
에는 여전히 초기 페이지로드 영역 값이 포함되어 있습니다.
저는 6 시간 이상이 시간을 맞았습니다.
은 어떤 하나
내 인생의 형제. 고맙습니다 :) – Lakhae