我有这个选择下拉菜单,我正在使用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'));
});
});