Ich habe eine Zeichenfolge, die wie folgt aussieht (dies ist ein Wert, den ich von einem Eingang in der Seite HTML erhalten):Convert String Array - jQuery.inArray() nicht funktioniert
'[123,234,345]'
ich diesen Wert drehen in ein Array in meinem JS:
var tempProjectTasks = $('#task_id_array').val();
tempProjectTasks = tempProjectTasks.replace('[', '').replace(']','');
selectedProjectTasks = tempProjectTasks.split(',');
ich dieses Array in einer Schleife dann vergleichen
$.each(tasks, function(key, value) {
if ($.inArray(value['id'], selectedProjectTasks) != -1) {
checked = 'checked';
} else {
checked = '';
}
... more stuff here ...
});
Dies ist eine Liste für die HTML ein Gebäude Jede Zeile enthält ein Kontrollkästchen.
Ich kann in der Konsole den Vergleich für diese Werte -1
durch Hinzufügen der console.log
Befehle unten in der Schleife sehen.
console.log(selectedProjectTasks);
console.log(value['id']);
console.log($.inArray(value['id'], selectedProjectTasks));
in der Konsole:
["123","234","345"]
123
-1
Warum ist die inArray()
nicht die passenden Werte zu finden? Was habe ich verpasst? Danke
Was ist 'Wert [ 'id']'? Ist es eine schlecht geformte Anordnung oder ein Objekt? – zer00ne
vielleicht sollten Sie versuchen, parseInt() auf Wert ['ID'] – thephpx