如何在bootstrap selectpicker中获取单击选项?
$('.excludeDaysPicker').selectpicker();
我有bootstrap selectpicker,启用了’multiple’选择选项。
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
单击选择选项(选择或取消选择)后,我想知道单击了哪个选项。
我试过了。
$('.excludeDaysPicker').on('change',function(){ console.log("id::",$(this).children(':selected').attr('id')); });
这实际上让我觉得自己。 但由于它是一个多选的启用选择器。 如果已经选择了一个选项。 返回该选项的id。 例如,在下面的屏幕截图中
如果我点击星期三,它给我id 2(因为星期二被选中),但实际上星期三的id是3.我想要我点击的选项元素的id。
而且我无法通过为选项元素提供一个类来获取选项元素,因为bootstrap selectpicker插件会为所有选项元素创建一个列表,如下所示。
所以,
$('.excludeDays').click(function() { console.log("excluded day optionselected::",$(this).attr('id')); });
也没有帮助。
男人们有办法吗?
要获取所选选项的相应ID:
$('.excludeDaysPicker').on('change',function(){ $(this).find("option:selected").each(function() { alert($(this).attr("id")); }); });
更新:要获取最后选择的值,请按下数组中的所有选定值并获取最后一个元素的ID。
var arr = new Array(); $('.selectpicker').on('change', function(){ $(this).find("option").each(function() { if($(this).is(":selected")) { id = $(this).attr("id"); if(arr.indexOf(id) == -1) { arr.push(id); } } else { id = $(this).attr("id"); arr = jQuery.grep(arr, function(value) { return value != id; }); } }); if(arr.length > 0) alert("Last selected id : " + arr[arr.length-1]); });