Ich habe eine Funktion, die alle untergeordneten Elemente von einem <select>
auf dem onfocus
Ereignis entfernen soll. (Diesem soll bald gefolgt werden, indem die <select>
mit Werten von einem AJAX-Aufruf gefüllt wird). Aus irgendeinem Grund entfernt es nur eines der Elemente beim ersten Aufruf und fährt dann fort, alle nachfolgenden Aufrufe auszuführen. Hat jemand eine Ahnung, warum dies passieren könnte?Warum werden dadurch nicht alle Elemente aus dem Element <select> entfernt?
JS-Code:
function handle(e) {
for(var i = 0; i < e.children.length - 1; i++) {
e.removeChild(e.children[i]);
}
}
Wenn Sie child [0] entfernen, wird Kind [1] sofort Kind [0]. Verwenden Sie jQuery empty() -Funktion. –
OH !!!!!!, also sollte ich sie invers entfernen order. (facepalms self) –
Um Optionen zu entfernen, wählen Sie 'select.options.length = 0' oder' while (select.firstChild) select.removeChild (select.firstChi ld) 'oder ... Oh, und es wird für jedes Element mit mehr als einem Kind dasselbe sein. – RobG