我的问题似乎很容易,但我无法理解。
HTML:
<select multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
jQuery的:
var choiceArr = [];
$('select').change(function () {
var text = $(this).find('option:selected').text();
choiceArr.push(text);
console.log(choiceArr);
});
目前,如果我选择 Volvo 和 Saab ,结果将是:
["Volvo", "VolvoSaab"]
我的预期结果是:
["Volvo", "Saab"]
当我从选择中删除 Saab 时,结果将是:
["Volvo", "VolvoSaab", "Volvo"]
我的预期结果是:
["Volvo"]
那我怎么能实现呢?
答案 0 :(得分:1)
<强> Demo 强>
尝试
var choiceArr = [];
$('select').change(function () {
choiceArr = $(this).find('option:selected').map(function () {
return $(this).text();
}).get();
alert(choiceArr);
});
答案 1 :(得分:0)
试试这个
<select multiple="multiple" id="select1">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<label id="result"></label>
的js
$('select').change(function () {
var selValues = $.map($("#select1 option:selected"), function (temp) {
return $(temp).text();
});
$("#result").text(selValues.join(", "));
});
<强> Fiddle 强>