2

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

4

2 回答 2

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>

于 2017-01-12T13:08:25.097 回答
0

如果你试试 :

axey 这是你的价值。

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); 
于 2017-01-12T13:17:42.110 回答