Jquery Chosen在下拉列表中获取未选择值的Id

时间:2016-04-19 09:07:55

标签: javascript jquery jquery-chosen

我已设法获取Chosen plugin的所选选项的ID。这是jsfiddle Demo

现在我不知道如何获得未选择的Id选项。我使用此代码来获取所选选项的ID。

 var SelectedIds = $(this).find('option:selected').map(function() {
      if ($(this).attr('value') == params.selected)
        return $(this).prop('id')

    }).get();
    alert(SelectedIds);

1 个答案:

答案 0 :(得分:4)

取消选择某个选项后,您会收到更改事件,但params对象具有deselected属性,您可以像使用selected一样使用该属性。

我为你演示了一个jsfiddle:http://jsfiddle.net/1eut1c3d/

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

  if (params.selected !== undefined) {
     var selectedID = $(this).find('option:selected').map(function() {
        if ($(this).attr('value') == params.selected)
        return $(this).prop('id')
   }).get();
   alert("Selected: " + selectedID);
}
if (params.deselected !== undefined) {
    var deselectedID =   $(this).find('option').not(':selected').map(function() {
      if ($(this).attr('value') == params.deselected)
        return $(this).prop('id')  
       }).get();
       alert("Deselected: " + deselectedID);
    }
});