如果没有选择元素,JQuery不返回选择框值

时间:2014-04-21 17:30:05

标签: jquery

不确定这里发生了什么,我一定是错过了什么。我有两个选择框,用户可以在它们之间移动元素以选择他们想要下载的数据元素,这里是屏幕抓取:Everything is groovy

当用户将一些元素移回“数据概念”时,一切都很有效。框中没有任何元素在"选定的数据"选中,如下所示: Not cool

以下是从" Selected Data"中获取值的代码。框:

var ExportSel = [];

$('#DataList2').each(function(){
ExportSel = $('#DataList2').val();
});

但是如果没有选择任何内容,则返回一个空数组,而不管"选择数据"中的元素数量是多少?框。虽然当我在firebug中检查它时,它会显示选择器框中存在的元素和值。

我是否误解了.each函数,.val函数或更基本的东西?

提前非常感谢,对堆栈社区总是印象深刻!

1 个答案:

答案 0 :(得分:1)

<select multiple>元素的值是所有选定选项的数组。但是你不关心Selected Data列中的选项是否被选中,你想要一个包含所有选项的数组。因此,您需要迭代选项,获取它们的值。

var ExportSel = [];
$("#DataList2 option").each(function() {
    ExportSel.push(this.value);
});