4

Ich habe 3 Drop-Downs, die Kaskadierung sind. Zone -> Region -> GebietBootstrap Multiselect Drop-Down .val() nicht aktualisieren

Ich verwende Bootstrap-Multiselect-Dropdown-Menüs.

Wenn ich das Zone-Drop-Down auswählen, müssen die entsprechenden Regionen gebunden werden und gleichzeitig die Territorien der neu gebundenen Regionen an das Gebiets-Drop-Down gebunden werden.

Hier ist mein Drop-Down-Initialisierungscode.

$('#ddlZone').multiselect({ 
      enableClickableOptGroups: true, 
      enableCollapsibleOptGroups: true, 
      enableFiltering: true, 
      includeSelectAllOption: true, 
      nonSelectedText: 'Select Zone', 
      enableCaseInsensitiveFiltering: true, 
      selectAllNumber: true, 
      onChange: function(option, checked,select) { 
       FillRegionsDropdown(); 
       FillTerritoriesDropdown(); 

      } 

Hier ist der Code für die oben genannten Funktionen.

Der obige Code funktioniert perfekt, d. H. In Zone Dropdowns ändern Sie die Regionen gebunden werden und auf alle auswählen.

Aber das Problem ist mit verbindlichen Gebiets Drop-Down mit Zonen Dropdown-Änderung.

Und hier ist der Code für Territory Dropdown-Bindungen.

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'); 

      } 


      }); 

    } 
    } 

Hier die $('#ddlRegion').val() bekommen nicht die neu gebundene Region Werte aktualisiert, die durch Zonenwechsel Dropdown verursacht wird.

$('#ddlRegion').val() enthält immer noch die Anfangswerte der Seitenladebereiche.

Ich bin jetzt seit mehr als 6 Stunden damit geschlagen worden.

Kann jemand mir helfen, dieses Problem zu beheben ?,

+0

gerettet mein Leben Bruder. Vielen Dank :) – Lakhae

Antwort

1

Versuchen async:false in beiden FillTerritoriesDropdown() und FillREgionsDropdown() Funktionen. d.h. in dem Ajax wird an den Controller dieser 2 Funktionen aufgerufen.

Verwandte Themen