FireBug - TypeError: Element nicht definiert ist
Ich bin mit der Gewählten Select-Box Jquery plugin in meine Website. Die Optionen in der select-aktualisiert mit ajax, so dass, wenn Sie wählen Sie etwas, in 1-Feld der Optionen für das nächste Feld angezeigt.
Habe ich hat es fast funktioniert, aber wenn ich auf die zweite box-option, die die Dritte-Boxen-Optionen nicht bis. Ich bekomme eine Fehlermeldung in FireBug sagt:
TypeError: Element nicht definiert ist
Element.selected = true;
Er sagt, es ist in dem Gewählten Feld der js-Datei.
JS =======================
Chosen.prototype.result_select = function(evt) {
var high, high_id, item, position;
if (this.result_highlight) {
high = this.result_highlight;
high_id = high.attr("id");
this.result_clear_highlight();
if (this.is_multiple) {
this.result_deactivate(high);
} else {
this.search_results.find(".result-selected").removeClass("result-selected");
this.result_single_selected = high;
this.selected_item.removeClass("chzn-default");
}
high.addClass("result-selected");
position = high_id.substr(high_id.lastIndexOf("_") + 1);
item = this.results_data[position];
item.selected = true; <---------- Error
this.form_field.options[item.options_index].selected = true;
if (this.is_multiple) {
this.choice_build(item);
} else {
this.selected_item.find("span").first().text(item.text);
if (this.allow_single_deselect) this.single_deselect_control_build();
}
if (!(evt.metaKey && this.is_multiple)) this.results_hide();
this.search_field.val("");
if (this.is_multiple || this.form_field_jq.val() !== this.current_value) {
this.form_field_jq.trigger("change", {
'selected': this.form_field.options[item.options_index].value
});
}
this.current_value = this.form_field_jq.val();
return this.search_field_scale();
}
};
Habe ich Stunden damit verbracht zu versuchen, es herauszufinden, aber nicht können. Jede Hilfe würde geschätzt werden.
- Sind Sie sicher, dass
results_data
ist nicht leer? Wenn es ist, hat es einen Wert in das Ergebnishigh_id.substr(high_id.lastIndexOf("_") + 1)
? - ich habe nur versucht etwas herauszufinden, bevor Sie.
- ich hoffe, das klingt nicht wie eine dumme Frage, aber wie würde ich überprüfen, ob seine leer oder nicht. Denn ich denke, es ist an der Zeit die Seite geladen ist, aber nicht später
- was ist die Ausgabe von alert(dies.results_data); ? (nur, bevor Sie die problematische Zeile)
- [object object],[object object] ist es, was das popup sagt
InformationsquelleAutor Dylan Buth | 2012-06-10
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte das gleiche problem, fügen Sie eine leere option-tag in Ihre HTML auswählen, sollte funktionieren.
Edit: Wie knuturO darauf hingewiesen, arrays sind mit 0 indiziert, aber die meisten der ausgewählten Indizes beginnen bei 1. Durch hinzufügen eines leeren Wert, es ist nicht mehr ein Konflikt zwischen der Indizierung von Arrays und die Indizes. Ein dropdown-zum Beispiel auf die gleiche Weise funktioniert.