Ich stehe fest, versucht, den ausgewählten Wert von einem Element 'Select' über Javascript abzurufen. Ich kann das Element aus dem DOM nicht einmal mit jQuery oder document.getElementById() abrufen. Hier ist mein Code:HTML-Element kann nicht nach ID abgerufen werden
console.log(e) -> 'null'
console.log(e2) -> <Got the element>
console.log(e3) -> 'undefined'
console.log(e4) -> <Nothing, just a blank>
Alle Iden auf, was dieses Problem verursachen könnte:
function getDropdown(headerText, options, id) {
var container = document.createElement('div');
container.setAttribute('class', 'nfvo-drop-down-container');
var dd = document.createElement('select');
$(dd).attr('id', id);
for(var val in options) {
$('<option />', {value: val, text: options[val]}).appendTo(dd);
}
if(headerText) {
var span = document.createElement('span');
span.setAttribute('class', 'panel-header');
span.appendChild(document.createTextNode(headerText));
container.appendChild(span);
}
container.appendChild(dd);
return container;
}
var dd = getDropDown('My dropdown', [1,2,3,4], 'ddID);
var e = document.getElementById('ddID');
var e2 = $('#ddID');
var e3 = $('#ddID').val();
var e4 = $('#ddID').text();
Wenn ich diese Werte console.log bin ich diese Ergebnisse bekommen würde? Dieser Codeblock ist innerhalb eines ‚.Dann‘ Funktionsaufruf beispiels:
$.when(...).then(function(...)
<Here is the code>
);
EDIT: Es war ein Tippfehler in der Post, die nun behoben worden sind. Dies ist nicht die Ursache meines Problems.
Ich sollte auch erwähnen, dass ich dieses div zu einem ContentPane über das Dojo-Toolkit hinzufügen und ich Dropdown-Menü im DOM über das Inspektionswerkzeug in Chrom sehen kann.
Es gibt einen Tippfehler im Code in Zeile var e = document.getElemetnById ('ddID') ;: seine 'getElementById' –
Bitte verwenden Sie die Konsole zum Debuggen. –
Abgesehen davon haben Sie einen Syntaxfehler und wie erwähnt einen Tippfehler in 'getElemetnById': Warum sind Sie sicher, dass' console.log (e2) 'Ihr Element anzeigt? Das Ergebnis von '$ ('# ddID')' ist nicht 'null' oder 'undefiniert', auch wenn kein Element gefunden wird, weil '$ (...)' eine Ergebnismenge zurückgibt, die null oder mehr Elemente enthält. Wenn 'document.getElementById ('ddID');' 'null 'ist, dann ist' $ (' # ddID '). Length' '0'. –