不确定这里发生了什么,我一定是错过了什么。我有两个选择框,用户可以在它们之间移动元素以选择他们想要下载的数据元素,这里是屏幕抓取:
当用户将一些元素移回“数据概念”时,一切都很有效。框中没有任何元素在"选定的数据"选中,如下所示:
以下是从" Selected Data"中获取值的代码。框:
var ExportSel = [];
$('#DataList2').each(function(){
ExportSel = $('#DataList2').val();
});
但是如果没有选择任何内容,则返回一个空数组,而不管"选择数据"中的元素数量是多少?框。虽然当我在firebug中检查它时,它会显示选择器框中存在的元素和值。
我是否误解了.each函数,.val函数或更基本的东西?
提前非常感谢,对堆栈社区总是印象深刻!
答案 0 :(得分:1)
<select multiple>
元素的值是所有选定选项的数组。但是你不关心Selected Data
列中的选项是否被选中,你想要一个包含所有选项的数组。因此,您需要迭代选项,获取它们的值。
var ExportSel = [];
$("#DataList2 option").each(function() {
ExportSel.push(this.value);
});