• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Angularjs ng-repeat + filter ergibt falscher index!

stargate

New member
Hi,

ich verwende angularjs und ich will mir aus einem vorgegebenen Array ein dynamisches Menü bauen. Das Array sieht z.b so aus, da es dynamisch ist können unterschiedlich viele Werte drinstehen:

$scope.csv_headers = ['date','column1','column2','column3'];

nun soll es mir mit folgendem Code ein Dynamisches Menü mit RadioBoxen bauen wo ich einen Wert auswählen kann.


HTML:
<div class="panel-body" style="border-bottom: 1px solid #428bca; padding: 5px;">
				<input class="form-control" placeholder="Suche ..." ng-model="xSearchText" style="border: 0px; box-shadow: none;">
			</div>
			<div class="panel-body scrollable">

				<div ng-repeat="header in csv_headers | filter: xSearchText">
					<label><input ng-model="$parent.current_settings.x_value" type="radio" name="x_value" value="{{header}}"> {{ header }}</label><br>
				</div>
			</div>

wenn ich z.b den Wert "column2" auswähle dann wird in current_settings im x_value der index 2 gespeichert bzw an der stelle 2 steht dann true.
HTML:
$scope.current_settings = {
		x_value: null,
	};

das ist auch korrekt so, nur wenn ich jetzt bei der obigen suche ein Wort eingebe dann verändert es mir den index, ng-repeat und die filter option verändern scheinbar das array und somit stimmt der index nicht mehr. Weiß einer wie ich dsa behen kann dass ich denn richtigen Index bekomme ?

Das selbe beispiel gibt es auch noch mit einem Dynamischen Menü mit Checkboxen dort kann ich dann mehrere Fehlder auswählen..
Gibt es eine einfache Möglichkeit den richtigen Index zu bekommen und nicht den gefilterten ?

mfg stargate
 
Bekommst du von Angularjs nicht den Wert? Wenn der eindeutig in dem Array ist, könntest über ARRAY.indexOf() dann den Index rausfinden.
 
Zurück
Oben