Javascript Jquery,selected:如何获取已删除的值

Javascript Jquery,selected:如何获取已删除的值,javascript,jquery,Javascript,Jquery,我使用的是Selected Jquery,我想获得从multi-select列表中取消选择的值。不知怎的,我不明白。我做错了什么 $("#teachingOptions").chosen().change(function (evt, params) { if (params.selected) { var value = $("#teachingOptions option:selected").val(); // This is working fine

我使用的是Selected Jquery,我想获得从multi-select列表中取消选择的值。不知怎的,我不明白。我做错了什么

   $("#teachingOptions").chosen().change(function (evt, params) {

    if (params.selected) {
        var value = $("#teachingOptions option:selected").val(); // This is working fine
        alert(value)
        return;}

else{

var value = $("#teachingOptions option:selected").val();  //Problem lies here, This Does not returns the correct value.
      alert value;   
      return;

}

因此,当有人选择其工作正常,但如果有人从alreay selectd列表中取消选择,它不会返回值,它表示未定义。

事实上,当用户取消选择时,值将是一个空字符串,因此您需要存储以前的值,并在取消选择时获取它

请注意,$teachingOptions选项:selected.val;返回与选定参数相同的值


但是用户可以选择多个值,我如何知道哪个值未被选择?问题中不清楚它是否为多选,我建议您编辑问题标题和提及多选的文本。如果我能找到一个解决方案,我会编辑答案看一看,这不是一个完整的解决方案,但它可能会有帮助,在你提到的例子中,de是什么?var de=$.grepall,函数元素{return$.inarayElement,foo!==-1;};
var oldValue = $("#teachingOptions");
$("#teachingOptions").chosen().change(function (evt, params) {
    var value = params.selected || ''; // if params.selected is empty use an empty string
    if (!params.selected) { // deselected
        // the value that was deselected is avaliable in oldValue variable
    }
    oldValue = value; // value changed, so update the stored value
    alert (value);
}