Bootstrap Multiselect - 如何访问我刚刚选择的值?

时间:2017-10-10 16:44:35

标签: jquery twitter-bootstrap

我有以下

function getTeams3(val) {
    console.log($('#department-list').val());
    console.log(val);

功能是

disabled

然而 - 第二行显示我刚刚选择的值,相反,如果我选择1,2和3,它将只显示1.如果我选择2然后选择3,它将只显示2.

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

由于它是多项选择,因此您可以更改'例如,通过按住shift并按下2或3,可以同时存在多个元素。那么在那种情况下,你会期望什么?'?只有它可以是一个值数组而不仅仅是一个值才有意义。

我不认为你有任何选择,除了在某处保存当前选定值(var cachedVals = $('#department-list').val())的数组,并在页面加载时初始化。

然后,当您在更改时调用getTeams3()时,再次获取var newVals = $('#department-list').val()并与cachedVals进行比较* -

  • 刚刚添加了newVals中但未添加到cachedVals中的值;
  • 如果没有,则只删除cachedVals中的值而不是newVals中的值。

当然,在从函数返回之前不要忘记设置cachedVals = newVals;

  • 对于数组比较,我使用Underscore.js库 - 一些非常方便的函数,例如

    _。差异([' 1',' 2',' 3'],[' 1',' 3']);

返回

[' 2']