2017-11-04 1 views
1
{customerCode: "730", accountId: 9, dueAmount: 0, connectionId: 116303, accountName: "Connection"} 

Ich habe eine JSON-Antwort wie folgt. Ich muss das Konto accountName zu Dropdown-Label und AccountId zu seinem entsprechenden Wert Feld hinzufügen.Wie wird eine JSON-Antwort auf eine Dropdown-Liste abgebildet?

accNames = accNames.filter(function(item, index,inputArray) { 
     return inputArray.indexOf(item) == index; 
     }); 

Ich verwende den obigen Code, um die doppelten Kontonamen zu filtern.

var sel = document.getElementById('selectAccount'); 
     for (var i = 0; i < accNames.length; i++) { 
      var opt = document.createElement('option'); 
       opt.innerHTML = accNames[i]; 
       opt.value = accIds[i]; 
       sel.appendChild(opt); 
     }  

Der obige Code wird verwendet, um den AccountName und die AccountId zum Dropdown hinzuzufügen. aber der accountName stimmt nicht mit der accountId überein. Es gibt ein Problem bei der Zuordnung von account zu accountname. Jeder bitte geben Sie mir ein paar Vorschläge.

+0

Ihre Arrays haben wahrscheinlich eine andere Reihenfolge - es könnte sinnvoll sein, beide zu sortieren, bevor Sie eine synchronisierte for-Schleife gemeinsam ausführen. –

Antwort

1

Wenn jeder Kontoname eine zugehörige Account-ID hat und für jeden Account-Namen eindeutig ist, können Sie auch das zweite Array filtern.

accIds = accIds.filter(function(item, index,inputArray) { 
     return inputArray.indexOf(item) == index; 
     }); 

Wenn ein Accountname 2 Vorkommen hat, wird auch seine entsprechende ID gefiltert.

+1

danke ...... – divya

Verwandte Themen