答案 0 :(得分:3)
尽管change
事件会触发click
事件select option
上的模式
$('select option').on('click',function(){
$("#modelId").modal('show');
});
答案 1 :(得分:2)
使用默认值选项创建一个选择。
<select id="slt">
<option value="default">Select Something</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
每次都处理非defaultValue选项的change事件,然后将默认选项重置为selected。
var $slt = $('#slt'),
defaultValue = 'default';
function handleChange(e){
var val = $slt.val();
// do nothing for defaultValue being selected
if (val === defaultValue) {
return;
}
// do something else
console.log(val);
// reset the value to defaultValue
$slt.find('option:selected').prop('selected', false);
$lst.find('option').eq(0).prop('selected', true);
}
$slt.bind('change', handleChange);
但是这会使select总是显示为“Select Something”。
这是一个关于此的演示:http://codepen.io/shuizhongyueming/pen/JWYYLJ
我找到了另一个解决方案,这比我的好。
https://stackoverflow.com/a/12404521/2279763
使用selectedIndex
重置焦点上的选定值,不需要defaultValue选项,并在点击后显示所选选项。
答案 2 :(得分:1)
您还可以使用模态功能
$('select option').on('click'function(){
$('modelId').modal('show');
});