gpt4 book ai didi

javascript - 多选 - 取消选择的值返回 null

转载 作者:行者123 更新时间:2023-11-29 18:08:35 26 4
gpt4 key购买 nike

描述

我正在使用 jquery 插件 chosen它几乎做了这样的事情:

enter image description here

这让我可以一一添加每个选项或一一删除每个选项。对于每个选定的选项,我都会创建一个新的元素,并将选定选项的作为id

问题

问题是当我从列表中删除一个选项时。例如:

$('#multiple-select').on('change', function(e){
alert($(e.target).val());
});

如果添加一个选项,将返回正确的,但如果我们删除一个选项,它将返回null。我需要能够获取被取消选择的选项的值,以便我可以在其他元素中删除它。

问题

如何获取取消选择的选项的值以返回实际值而不是空值?还是有另一种方法可以绕过这个问题?

我需要做的就是找到取消选择的选项并将其从其他元素中删除(知道元素的 id 是基于选项的值构建的)。

更新

按要求删除代码:

$('body').on('change', benefs, function(e){
var $nbparts = $(participantNbParts),
$target = $(e.target),
$val = $target.val(),
$name = $target.text();

if($val == null){
//this is because we deleted something thus we need to remove it from $nbparts which is a pitty since we don't know what it was before it got deleted
}else{
//someone was added
$(create_row_expense_nb_parts_participant($name, $val)).appendTo($nbparts).show('slow');
$nbparts.parent().show('fast');
}
});

最佳答案

jQuery chosen提供 selecteddeselected ,您可以使用它们分别识别选择和取消选择的值,例如:

$("#your_element_id").on('change', function (evt, params) {

var selected = params.selected;
var removed = params.deselected; //gives you the deselected value

//assuming your option ids are numbers
if( removed > 0 ) {
console.log( "Value removed is:" + removed );
}

});

关于javascript - 多选 - 取消选择的值返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29468949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com