Boostrap选择获取更改事件的最新选择选项



我有这个选择下拉菜单,我正在使用Bootstrap选择:

http://silviomoreto.github.io/bootstrap-select/

<select id="properties" name="properties[]" class="selectpicker" data-live-search="true" multiple>
</select>
$( document ).ready(function() {
  // instantiating the main properties
  loadProperties(0);
$('#properties').on('change', function(){
    var optionSelected = $("option:selected", this);
    alert(optionSelected.data('parent'));
});
});
function loadProperties(param) {
  var propSelect = $('#properties');
  $.get("json/" + param + ".json",function(options,status){
    $.each(options, function(val, text) {
      var option = $('<option data-parent="' + param + '" class="prop-option"></option>').val(val).html(text);
      propSelect.append(option);
    });
    $('.selectpicker').selectpicker('refresh');
  });
}

问题是,我需要选择最后一个选项,而不是每个选择的选项。我只能使用on change方法,因为Bootstrap select不会返回选项上的任何单击事件。

如何使用on Change事件仅获取最后一个选择的选项?

感谢您抽出时间

试试这个:您可以将上次选择的选项存储为某个data属性,比如data-prev,并为每个change事件更新它。参见以下代码-

$( document ).ready(function() {
  // instantiating the main properties
  loadProperties(0);
  $('#properties').on('change', function(){
    var optionSelected = $("option:selected", this);
    //read last selected value
    var lastSelected = $(this).data('prev');
    alert(lastSelected);
    //update last selected value
    $(this).data('prev',optionSelected.data('parent'));
    alert(optionSelected.data('parent'));
  });
});

最新更新