javascript - 仅从具有多个属性的 HTML 选择中获取新添加和删除的选项?

标签 javascript jquery html select jquery-selectors

我的问题看起来很简单,但我无法弄清楚。

<强> Fiddle Demo

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", "VolvoSaab"]

我的预期结果是:

["Volvo", "Saab"]

当我从选择中删除 Saab 时,结果将是:

["Volvo", "VolvoSaab", "Volvo"] 

我的预期结果是:

["Volvo"]

那么我该如何实现呢?

最佳答案

<强> Demo

尝试

var choiceArr = [];
$('select').change(function () {

    choiceArr = $(this).find('option:selected').map(function () {
        return $(this).text();
    }).get();

    alert(choiceArr);
});

关于javascript - 仅从具有多个属性的 HTML 选择中获取新添加和删除的选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24031143/

相关文章:

javascript - 提交父 html 表单而不是子弹出表单?

javascript - 如何为网络爬虫和单页应用程序用户创建网站?

javascript - JavaScript 是否有内置的 stringbuilder 类?

javascript - 为什么箭头函数隐含的 `return` 在这种情况下不起作用(TS)?

javascript - 如何优化node.js中array.forEach的计算速度

javascript - 连续返回元素的位置

javascript - knockout 类型错误 : m. apply is not a function

javascript - jQuery animate 在 Firefox 中实现 div 跳跃

javascript - 在 else 语句中看不到 if 语句的 jQuery javascript 变量

javascript - 我如何在 Highcharts Grouped Categories 中包装标签文本