如何jQuery多项选择更改功能,获取未选择的项目数?

时间:2017-01-12 13:07:14

标签: jquery html bootstrap-selectpicker

有没有办法在jquery onChange事件的多个选择中获取所有“未选中”值。

2 个答案:

答案 0 :(得分:3)

您可以使用: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>

答案 1 :(得分:0)

如果您尝试:

理解你的价值。

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);