我正在使用jQuery Chosen将我的选择转换为多个选择。当我选择第二项时,它会在我$(this).val()
时为我提供所选项目。
我只希望当时选择的项目的值。
以下是我的代码。
$("#languageId").chosen().on("change",function() {
alert($(this).val());
});
HTML:
<select id="languageId" multiple >
<option value="Hindi">Hindi</option>
<option value="English">English</option>
</select>
答案 0 :(得分:3)
选择时,选择会触发标准DOM事件(它还会发送
selected
或deselected
参数,告诉您哪个选项已更改。
因此,您可以访问selected
事件回调中传递的deselected
对象上的params
/ change
属性。换句话说,params.selected
/ params.deselected
将是刚刚选中/取消选择的option
元素的值。
$("#languageId").chosen().on("change", function(event, params) {
var value = $(this).val();
var changedValue = params.selected || params.deselected;
// ...
});
在下面的评论中,你可以简单地检查params
对象上的哪个属性,以确定是否选择/取消选择了一个选项:
$("#languageId").chosen().on("change", function(event, params) {
if (params.selected) {
console.log('The option: ' + params.selected + ' was selected.');
}
if (params.deselected) {
console.log('The option: ' + params.deselected + ' was deselected.');
}
});