我有一个动态bootstrap多下拉选择器。
我想在用户取消选择选项时运行一些代码。
<select id="selectOptions" multiple>
<option>Test1</option>
<option>Test2</option>
<option>Test3</option>
<option>Test4</option>
<option>Test5</option>
<option>Test6</option>
</select>
我想通过jquery做到这一点但是我有一个选项已经在选择一个选项时运行,当用户点击取消选择该选项时我该怎么做。
由于
答案 0 :(得分:1)
您可以做的是向change
元素添加select
侦听器,并保留上次触发此侦听器时所选项目的数组。这样,您可以将当前选定的项目数组与先前选定项目的数组进行比较,以确定哪些项目未被选中。
以下是一个例子:
var prevSelected = [];
$("#selectOptions").change(function(){
var selected = $(this).val() || [];
var unselected = prevSelected.filter(function(v){
return selected.indexOf(v) === -1;
});
if(unselected.length){
console.log("value(s) " + unselected + " were/was unselected");
}
prevSelected = selected;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="selectOptions" multiple>
<option>Test1</option>
<option>Test2</option>
<option>Test3</option>
<option>Test4</option>
<option>Test5</option>
<option>Test6</option>
</select>
&#13;
答案 1 :(得分:0)
每this个帖子,您可以检查所选的值,如此
var select = document.getElementById("selectOptions");
$('#selectOptions').change(function(){
for (index in select){
if ( $("#selectOptions").val() === "" )
{
//some code
}
}
});