説明
私は選択したjqueryプラグインを使用していますが、これはほとんど次のようなことを行います:
これにより、各オプションを 1 つずつ追加したり、各オプションを 1 つずつ削除したりできます。選択したオプションごとに、選択したオプションの値をidとして新しい要素を作成します。
問題
問題は、リストからオプションを削除するときです。例えば:
$('#multiple-select').on('change', function(e){
alert($(e.target).val());
});
オプションを追加すると正しい値が返されますが、オプションを削除するとnullが返されます。選択解除されたオプションの値を取得して、他の要素でそれを削除できるようにする必要があります。
質問
選択解除されたオプションの値を取得して、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');
}
});