Hi,
der Titel ist nicht ganz glücklich gewählt, aber ich habe folgendes Problem.
Ich haber mir eine nette Auswahl für Kategorien/Unterkategorien geschrieben.
Es wird eine Liste von Buttons generiert - wenn man nun auf einen Button klickt, werden per Ajax die zugehörigen Subkategorien geholt und man kann sich eine Auswählen.
Beim Klick auf die Subkategorie wird per DOM ein input type hidden generiert und ins Dokument gehängt. Natürlich mit nem Span für eine Textausgabe.
Beim hinzufügen von weiteren Kategorien schau ich ob die geklickte Kategorie schonmal als input type hidden vorhanden ist, wenn ja wird das erneute hinzufügen verweigert.
Nun ist es leider so, das im IE die Anzahl der Element mit dem namen "rec_subcats[]" immer 0 ist - im FF wird brav mit hochgezählt.
Eine Lösung wäre, das ich die schon vergebenen subkategorie-IDs in ein Array schreibe und dort nachschaue, aber leider kann die Seite auch mit schon zugeordneten Kategorien aufgerufen werden. Dann müsste ich den JS-Array schon mit den bereits vergebenen Kategorien vor-befüllen.... *grübel*
Warum klappt das nicht über getElementsByName Schiene?
Dank euch schonmal...
der Titel ist nicht ganz glücklich gewählt, aber ich habe folgendes Problem.
Ich haber mir eine nette Auswahl für Kategorien/Unterkategorien geschrieben.
Es wird eine Liste von Buttons generiert - wenn man nun auf einen Button klickt, werden per Ajax die zugehörigen Subkategorien geholt und man kann sich eine Auswählen.
Beim Klick auf die Subkategorie wird per DOM ein input type hidden generiert und ins Dokument gehängt. Natürlich mit nem Span für eine Textausgabe.
Beim hinzufügen von weiteren Kategorien schau ich ob die geklickte Kategorie schonmal als input type hidden vorhanden ist, wenn ja wird das erneute hinzufügen verweigert.
PHP-Code:
var subcat_in_use = false
//prüfen ob subkategorie schon vorhanden ist
var cur_subcats = document.getElementsByName('rec_subcats[]');
var subcat_in_use = false;
//subkat_id ist die subkategorie die ich hinzufügen möchte
for(var i = 0; i < cur_subcats.length; i++){
if(cur_subcats[i].value == subkat_id){
subcat_in_use = true;
break;
}
}
//hinzufügen von Kategorien
if(!subcat_in_use){
var input = document.createElement('input');
input.name = 'rec_subcats[]';
input.value = subkat_id;
input.type = 'hidden';
used_subcats.appendChild(input); //used_subcats macht die Ausgabe
}
Eine Lösung wäre, das ich die schon vergebenen subkategorie-IDs in ein Array schreibe und dort nachschaue, aber leider kann die Seite auch mit schon zugeordneten Kategorien aufgerufen werden. Dann müsste ich den JS-Array schon mit den bereits vergebenen Kategorien vor-befüllen.... *grübel*
Warum klappt das nicht über getElementsByName Schiene?
Dank euch schonmal...
Kommentar