我无法理解出了什么问题,而且我已经尝试了我能想到的一切。基本上我有一个多选列表,我试图在一个数组中获取所选的选项文本值,以及另一个数组中的值。
继承人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。这些数组就像它们应该的那样构建,但两个数组都是相同的[&#34; Option1&#34;,&#34; Option2&#34;等]
var aeArray = [];
var textvals = [];
$('#adaptequip :selected').each(function(i, selected){
textvals[i] = $(this).text();
aeArray[i] = $(this).val()
});
我怎样才能让aeArray填充像这样的实际值[&#34; 1&#34;,&#34; 2&#34;,&#34; 3&#34;等]
编辑:上面的HTML是由JavaScript生成的,是的,我有一个额外的&#34;在价值之前。
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>');
}
答案 0 :(得分:1)
您在"
value
<option "value="1">Option1</option>
^Here
答案 1 :(得分:0)
你有“在选项值属性前面。删除它们。
答案 2 :(得分:0)
您的选择错误
<option "value="1">Option1</option>
应该是
<option value="1">Option1</option>
您的javascript中也缺少分号。可能无关,但无论如何你应该修复它
aeArray[i] = $(this).val();
答案 3 :(得分:0)
修复html语法错误后使用.val()
jQuery方法
`$('#adaptequip').val()`
// ["1", "2"]