fuz*_*uzz 5 html javascript jquery select
我想要做的是在select元素中填充数据.我正在使用以下代码,用户从一个下拉列表中选择一个SubjectCategory,然后填充下一个select元素的html.处理程序本身工作得很好,它返回我需要放在select元素中的正确html.
另外,请记住,我最终克隆了这两个选择元素,并需要相应地填充它们.
问题是$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>
Run Code Online (Sandbox Code Playgroud)
Dig*_*ane 13
你在里面搜索<label>,而不是<div>你想要的.next只获得当前一个元素之后的一个元素.
试试这个:它搜索你父元素旁边的第一个div.
var $elem = $this.closest('div').nextAll('div').first().find('select');
Run Code Online (Sandbox Code Playgroud)