Quello che sto cercando di fare è popolare i dati in un elemento select. Sto usando il seguente codice, in cui un utente seleziona una SubjectCategory da un menu a discesa, che quindi dovrebbe popolare l'html dell'elemento select successivo. Il gestore funziona correttamente, restituisce l'html corretto che devo inserire all'interno dell'elemento select.jQuery - Trova il prossimo elemento selezionato
Inoltre, tenere presente che alla fine clonerò entrambi questi elementi selezionati e sarà necessario popolarli di conseguenza.
Il problema è che $elem
restituisce sempre null.
Sto indovinando che si tratta di un problema con questa riga di codice, ma non del tutto sicuro (tenendo a mente che sto anche la clonazione questi due elementi di selezione):
var $elem = $this.closest('div').prev().find('select');
$(".SubjectCategory").live("click", function() {
var $this = $(this);
var $elem = $this.closest('div').next().find('select');
var a = $this.val();
$.get("/userControls/BookSubjectHandler.ashx?category=" + a, {}, function (data) {
$elem.html(data);
});
});
<div class="singleField subjectField">
<label id="Category" class="fieldSml">Subject Matter</label>
<div class="bookDetails ddl"><select id="ddlSubjectMatter" class="fieldSml SubjectCategory"></select></div>
<label id="Subjects" class="fieldSml">Category</label>
<div class="bookDetails ddl" id="subjectMatter"><select id="ddlSubjects" class="fieldSml Subjects"></select></div>
</div>
Congratulazioni! Questo è sicuramente un codice, ora qual è la domanda vera? –
@AlastairPitts: Uh, '$ elem' restituisce sempre null? – fuzz
editing eccellente. Ricorda, è difficile rispondere a una domanda se non ti viene mai chiesto. –