如何 jQuery 多个 select 更改函数,获取未 select 的项目数?
How to jQuery multiple select on change function, get number of items not selected?
有没有办法在 jquery onChange 事件中获取多个 select 中的所有 "Not selected" 值。
您可以结合使用 :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>
如果你尝试:
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);
有没有办法在 jquery onChange 事件中获取多个 select 中的所有 "Not selected" 值。
您可以结合使用 :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>
如果你尝试:
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);