我想要做的是将数据填充到select元素中。我使用下面的代码,用户从一个下拉列表中选择一个SubjectCategory,然后填充下一个select元素的html。处理程序本身工作得很好,它会返回我需要放置在select元素中的正确html。jQuery - 查找下一个select元素
另外,请记住,我最终克隆了这两个选择元素,并需要相应地填充它们。
问题是$elem
总是返回null。
我猜它与这行代码有问题,但不是很确定(记住,我也克隆这两个选择元素保持):
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>
恭喜!这绝对是一些代码,现在真正的问题是什么? –
@AlastairPitts:呃,'$ elem'总是返回null? – fuzz
优秀的编辑。请记住,如果从未问过这个问题,就很难回答这个问题。 –