【发布时间】:2014-01-09 21:06:14
【问题描述】:
我不明白出了什么问题,我已经尝试了我能想到的一切。基本上我有一个多选列表,我试图在一个数组中获取选定的选项文本值,并在另一个数组中获取值。
这是 HTML...
<select multiple="multiple" id="adaptequip" name="adaptequip">
<option "value="1">Option1</option>
<option "value="2">Option2</option>
<option "value="3">Option3</option>
<option "value="4">Option4</option>
<option "value="5">Option5</option>
<option "value="6">Option6</option>
<option "value="7">Option7</option>
</select>
这是创建数组的 JavaScript/jQuery。数组是按应有的方式构建的,但是两个数组都是相同的,例如 ["Option1","Option2", etc]
var aeArray = [];
var textvals = [];
$('#adaptequip :selected').each(function(i, selected){
textvals[i] = $(this).text();
aeArray[i] = $(this).val()
});
我怎样才能让 aeArray 填充像这样的实际值 ["1","2","3", etc]
编辑:上面的 HTML 是由 JavaScript 生成的,是的,我在值之前有一个额外的 "。
Object.keys(adaptequip)
.sort(function(a,b) {
return b.localeCompare(a)
})
for(key in adaptequip) {
var val = adaptequip[key];
$('#adaptequip').append('<option "value="' + val.aeid + '">' + val.aename + '</option>');
}
【问题讨论】:
-
这真的是 HTML 的逐字复制吗?
-
W3C 有一个很棒的validator,你应该试试看!
标签: jquery arrays multi-select