jQuery - 存储数组中多个选择的下拉值

时间:2011-10-03 06:27:38

标签: javascript jquery html arrays jquery-ui

以下代码使用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>

1 个答案:

答案 0 :(得分:2)

使用jQuery .map函数,您可以一次检索所有值:

var arrayOfValues = $(".bookDetails.ddl select").map(function (i, el) { return $(el).val(); }).get();

小提琴:http://jsfiddle.net/e9zxY/