以下代码使用HTML数据填充第二个select语句。我面临的问题是我克隆了两个select语句,并且在提交表单时,我想将两个选择中的所有选定值保存到一个Array()中。
迭代所有下拉值的最佳方法是什么(对于主题事项和类别,最多可以添加5个?)
提前致谢。
$(".SubjectCategory").live("click", function () {
var $this = $(this);
var $elem = $this.closest('div').nextAll('div').first().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>
答案 0 :(得分:2)
使用jQuery .map
函数,您可以一次检索所有值:
var arrayOfValues = $(".bookDetails.ddl select").map(function (i, el) { return $(el).val(); }).get();