获取刚从jQuery Chosen多选元素中选择的值

时间:2016-02-02 23:51:33

标签: javascript jquery jquery-chosen

我正在使用jQuery Chosen将我的选择转换为多个选择。当我选择第二项时,它会在我$(this).val()时为我提供所选项目。

我只希望当时选择的项目的值。

以下是我的代码。

$("#languageId").chosen().on("change",function() {
  alert($(this).val());
});

HTML:

<select id="languageId" multiple >
  <option value="Hindi">Hindi</option>
  <option value="English">English</option>
</select>

1 个答案:

答案 0 :(得分:3)

根据the documentation

  

选择时,选择会触发标准DOM事件(它还会发送selecteddeselected参数,告诉您哪个选项已更改。

因此,您可以访问selected事件回调中传递的deselected对象上的params / change属性。换句话说,params.selected / params.deselected将是刚刚选中/取消选择的option元素的值。

Example Here

$("#languageId").chosen().on("change", function(event, params) {
  var value = $(this).val();
  var changedValue = params.selected || params.deselected;

  // ...
});

在下面的评论中,你可以简单地检查params对象上的哪个属性,以确定是否选择/取消选择了一个选项:

$("#languageId").chosen().on("change", function(event, params) {
  if (params.selected) {
    console.log('The option: ' + params.selected + ' was selected.');
  }
  if (params.deselected) {
    console.log('The option: ' + params.deselected + ' was deselected.');
  }
});