2017-09-07 6 views
0

Ich habe eine UI-Auswahl, die, wenn Sie eine Postleitzahl eingeben, bietet eine Liste von Adressen (Postleitzahl, Stadt, Land), die Sie wählen können, und wann Sie wählen eine aus, sie fügt sie in das Eingabefeld ui-select ein. Ich habe das ui-select-Setup als multiple.Mehrere Postleitzahlen von Geocoding Service in Angular Ui-Select

Die Postleitzahlen kommen von einem Angular Geocoding-Dienst, wo Sie nur die Route mit params (Postleitzahl und Land, die immer USA ist) anrufen, und es gibt eine ID und einen Textvorschlag zurück der Ort, der die Postleitzahl, Stadt und Land getrennt durch Kommas ist

Meine Frage ist dies, wenn ich die Adressen aus dem Dropdown zum ui-Auswahl Eingabefeld hinzufügen, wie ich tatsächlich auf diese Werte von der zugreifen Regler.

Hier ist meine ui-Auswahlcode:

<ui-select ng-model="area.location" multiple theme="bootstrap" ng-disabled="disabled"> 
    <ui-select-match placeholder="Enter a postal code..." ng-model="code">{{$item.text}}</ui-select-match> 
    <ui-select-choices repeat="address in addresses | filter: $select.search" refresh="getSearchLocation($select.search)" refresh-delay="0"> 
      <div ng-bind-html="address.text | highlight: $select.search"></div> 
    </ui-select-choices> 
</ui-select> 

Die getSeachLocation($select.search) Funktion ist es, was die Info Postleitzahl abruft.

Ich hoffe, das ist genug Code; Wenn ich mehr hinzufügen muss, lass es mich wissen.

Ich kann nicht scheinen, um Zugang zu irgendwelchen Werten zu erhalten, die ich dem ui-select im Controller hinzufüge.

Hoffe das alles Sinn gemacht, danke!

+0

Können Sie Beispieldaten zur Verfügung stellen? wenn möglich eine Geige mit dem Problem? –

+1

Ich denke, das wäre eine riesige Menge an Code, da dies für meine App bei der Arbeit ist, und es gibt so viele Abhängigkeiten und Dinge, die sich gegenseitig abschwächen. Hauptsächlich suche ich nach den ui-select-Werten im Controller. Ich kann versuchen und eine Geige machen, aber das kann eine sehr lange Zeit dauern ... – Lushmoney

+0

Ich verstehe! Kein Problem! –

Antwort

0

Sie können jederzeit nach der Auswahl im Controller auf diese zugreifen, indem Sie das ng-Modell von ui-select verwenden. Dies ist ein Array Ihrer Werte/Strukturen, die Sie für ui-select-options zugewiesen haben.

Zum Beispiel, ich greife auf meine ausgewählten Elemente wie var selected = $scope.placesModel.selected[n] (es ist ein Array für mehrere Auswahlen, erinnern). Der Wert in diesem Index entspricht dem, den Sie den Optionen zugewiesen haben. In meinem Fall ist es ein einfaches Json-Objekt, so dass ich auf die Objekteigenschaften wie selected.id zugreifen kann.