javascript - Select2 从多个中获取删除的值

标签 javascript jquery jquery-select2

我使用的主题有 select2 版本 3.4.3。我想获取删除的值ID,所以我尝试使用:

$('#mymultiple').on("select2:removed", function (e) {
    console.log(e.val);
})

但它没有检测到该事件。然后,我测试了:

$('#mymultiple').on("select2:unselect", function (e) {
    console.log(e.val);
})

但它给了我一个未定义的值,尽管该对象有一些信息:

$('#mymultiple').on("select2:unselect", function (e) {
    console.log(e);
})

Object { type: "select2:unselect", params: Object, timeStamp: 1473273802173, jQuery18308796073916839738: true, isTrigger: true, exclusive: undefined, namespace: "", namespace_re: null, result: undefined, target: , ...}

我必须使用这个版本,因为我需要使用模板项目给出的样式(我测试了3.5.3,removed工作正常,但我无法正确导入样式)。那么如何从多重选择中获取删除的值呢?

最佳答案

3.4.3中的事件是“removed”而不是“select2:removed”

(通过查看select2 v3.4.3 source code找到它)

$(document).ready(function() {
  $('#mymultiple').select2({
    placeholder: 'pick items'
  });

  $('#mymultiple').on("removed", function(e) {
    alert(e.val);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.4.3/select2.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.4.3/select2.css" rel="stylesheet" />
<select id='mymultiple' multiple>
  <option value='one'>One</option>
  <option value='two'>Two</option>
  <option value='three'>Three</option>
</select>

关于javascript - Select2 从多个中获取删除的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39377127/

相关文章:

javascript - 日期检查 - 无法从未定义中读取属性 "0"

javascript - 如何将乙烯基源流输出到我的目标目录?

javascript - 防止浏览器在没有哈希值的情况下刷新时自动滚动

javascript - 在 Javascript 中突出显示单词 - 为什么在页面完全加载后它们不会保持突出显示?

javascript - jQuery 链式函数和 "this": Where is my syntax incorrect in this example?

javascript - 我们可以在按钮点击事件上使用 "window.setTimeout"吗?

javascript - 返回页面后不显示 Angular 指令

javascript - 使用 zoom javascript 触发谷歌地图点击事件

javascript - Select2 - 从 js 将其设为只读(未禁用!)

javascript - Select2 下拉列表动态添加、删除和刷新项目