2 Stimmen

Wie man Standardauswahl-Dropdown mit unterschiedlichen Werten aus derselben Quelle festlegt

Ich habe ein JSON-Array, aus dem ich Dropdown-Menüs erstelle und standardmäßig mit ng-model auswähle

$scope.repeats = [{
    'title': 'Nie',
    'value': 'Nie'
  }, {
    'title': 'Täglich',
    'value': 'Täglich'
  }, {
    'title': 'Werktage (Mo-Fr)',
    'value': 'Werktage'
  }, {
    'title': 'Wöchentlich',
    'value': 'Wöchentlich'
  }, {
    'title': 'Monatlich',
    'value': 'Monatlich'
  }, {
    'title': 'Jährlich',
    'value': 'Jährlich'
  }, {
    'title': 'Stündlich',
    'value': 'Stündlich'
  }, {
    'title': 'Minütlich',
    'value': 'Minütlich'
  }];

$scope.def_sele = $scope.repeats[0]

Im View:

In obigem Code ist das standardmäßig ausgewählte Dropdown Täglich. Bis hierher war alles in Ordnung.

Aber ich erstelle eine TODO-Anwendung, bei der jedes TODO eine andere Auswahl hat (Nie, Täglich usw. aus dem obigen $scope.repeats)

Also, wie setze ich standardmäßig für jedes TODO ausgewählt ???? Weil das obige Beispiel, das ich gegeben habe, überall gilt und ich bei jedem TODO Täglich ausgewählt bekomme, aber ich möchte für jedes TODO unterschiedlich auswählen, wie mache ich das ????


Aktualisiert

Mein Code sieht so aus:

In dem obigen Beispiel hat jedes todo ein unterschiedliches dropdown_position_index, daher möchte ich, dass das Dropdown-Menü mit selected = selected wird, indem ich todo.dropdown_position_index verwende.

2voto

Ben Lesh Punkte 106494

Sie müssen sicherstellen, dass der Wert, den Sie in Ihren auswählen, mit dem Wert in Ihrem ausgewählten todo übereinstimmt. Ich habe Ihren Code nicht gesehen, deshalb habe ich ein funktionierendes Beispiel in jsbin zusammengestellt. Die Grundidee ist diese:

Wo:

  • Z = Ihre Optionsammlung
  • x = eine einzelne Elementvariable aus Z
  • x.A = der Wert der Option
  • x.B = der Text der Option
  • X = der Wert, der aktualisiert und von dort aus gelesen wird

solange das Array Z ein Objekt enthält x, bei dem die Eigenschaft x.A gleich X ist, wird es ausgewählt.

... oder für eine weniger verwirrende Antwort, prüfen Sie das Codebeispiel. ;)

Alles Gute

0voto

nilsK Punkte 4343

Gegeben für die Beispielobjektstruktur

$scope.todos = [{
   'title': 'Wöchentlich',
   'value': 'Wöchentlich'
}, {
  'title': 'Jährlich',
  'value': 'Jährlich'
}];

man könnte etwas wie folgt machen

hier ein Beispiel plunker

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X