jquery怎么给添加事件
jquery如何给<opiton>添加事件?
下面两种情况浏览器都没有反应。
请问如何给一个<select>里面的<opition>添加事件呢?
------解决方案--------------------
它本身没有事件;
------解决方案--------------------
option能支持click事件
可能执行时select中没有option,你用live试试
$('#select option').live('click',function ()
{
alert('1');
}
如果是高版本jquery不支持live,用委托替代
------解决方案--------------------
可能是SELECT引起的。不过LZ可以这样解决:
即SELECT选项被改变后,获取当前选中的option,并触发click事件
------解决方案--------------------
楼主的目的是什么呢?如果只是想在特定的option被选中时执行操作,最好是在select的change事件里根据this.value或this.selectedIndex判断。如果一定要在option上加click事件,可以用下面这种方法,通过this.value或this.index()判断点击的哪一个option。
下面两种情况浏览器都没有反应。
$('#select option').click(funcion ()
{
alert('1');
}
$('#select option').bind('click',function ()
{
alert('1');
}
请问如何给一个<select>里面的<opition>添加事件呢?
jqeury
option
添加事件
------解决方案--------------------
它本身没有事件;
$("select").change(function () {
alert($(this).val());
alert($(this).find("option:selected").text());
});
------解决方案--------------------
option能支持click事件
可能执行时select中没有option,你用live试试
$('#select option').live('click',function ()
{
alert('1');
}
如果是高版本jquery不支持live,用委托替代
------解决方案--------------------
可能是SELECT引起的。不过LZ可以这样解决:
$("option").each(function() {
$(this).bind("click", function() {
alert($(this).val());
});
});
$("select").bind("change", function() {
var index = $(this).prop("selectedIndex");
$("option:eq(" + index + ")").click();
});
即SELECT选项被改变后,获取当前选中的option,并触发click事件
------解决方案--------------------
楼主的目的是什么呢?如果只是想在特定的option被选中时执行操作,最好是在select的change事件里根据this.value或this.selectedIndex判断。如果一定要在option上加click事件,可以用下面这种方法,通过this.value或this.index()判断点击的哪一个option。
$('#select').on('click', 'option', function () {
alert(this.value);
alert($(this).index());
});