我有这个选择下拉菜单,我正在使用Bootstrap-select:
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事件仅获取最后选择的选项?
感谢您的时间
答案 0 :(得分:0)
试试这个:您可以将最后选择的选项存储为某个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'));
});
});