我有以下
function getTeams3(val) {
console.log($('#department-list').val());
console.log(val);
功能是
disabled
然而 - 第二行显示我刚刚选择的值,相反,如果我选择1,2和3,它将只显示1.如果我选择2然后选择3,它将只显示2.
有什么想法吗?
答案 0 :(得分:-1)
由于它是多项选择,因此您可以更改'例如,通过按住shift并按下2或3,可以同时存在多个元素。那么在那种情况下,你会期望什么?'?只有它可以是一个值数组而不仅仅是一个值才有意义。
我不认为你有任何选择,除了在某处保存当前选定值(var cachedVals = $('#department-list').val()
)的数组,并在页面加载时初始化。
然后,当您在更改时调用getTeams3()
时,再次获取var newVals = $('#department-list').val()
并与cachedVals
进行比较* -
当然,在从函数返回之前不要忘记设置cachedVals = newVals;
。
对于数组比较,我使用Underscore.js库 - 一些非常方便的函数,例如
_。差异([' 1',' 2',' 3'],[' 1',' 3']);
返回
[' 2']