【发布时间】:2017-01-12 13:07:14
【问题描述】:
有没有办法在 jquery onChange 事件的多选中获取所有“未选择”值。
【问题讨论】:
标签: jquery html bootstrap-selectpicker
有没有办法在 jquery onChange 事件的多选中获取所有“未选择”值。
【问题讨论】:
标签: jquery html bootstrap-selectpicker
您可以结合使用:not() 和:selected 选择器来实现此目的。然后构建一个包含所有未选择值的数组,您可以使用map()。试试这个:
$('#foo').change(function() {
var unselectedValues = $(this).find('option:not(:selected)').map(function() {
return this.value;
}).get();
console.log(unselectedValues);
});
select {
width: 30px;
height: 150px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="foo" multiple="true">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
【讨论】:
map() 和给定的选择器来构建一个数组。我已经为你更新了我的示例
如果你尝试:
这是你的价值。
var tab= [];
for(var i = 0; i < axey.options.length; i++)
{
if(!axey.options[i].selected == true)
{
tab.push(axey.options[i].value);
}
}
console.log(tab.length);
【讨论】: