2016-10-03 55 views
0

当我更改select的值时,hasClass()在选择中找不到.select_timedb,因此条件始终为false。为什么是这样?我使用相同的代码为input,它工作正常。如何使用HasClass进行选择?

我这样做,因为有更多的选择。当我改变其中的一个时,我需要知道该选择是否有.select_timedb类来知道我是否需要做某件事。

<select class="form-control select_time select_timedb valid" id="time1" name="time1" aria-required="true" aria-invalid="false"> 
    <option value="1">1 h</option> 
    <option value="2">1 day</option> 
</select> 
$('body').on('change', 'select_timedb', function() { 
    if ($(this).hasClass("select_timedb")) { 
     // do something 
    } 
}); 
+3

删除'.'从'喜欢select_timedb'这个'如果($(本).hasClass( “select_timedb”)){' –

+0

错字:您在'hasClass()'中检查的类不应该有'.'前缀。无论如何,使用'hasClass()'是非常多余的,因为你的选择器确保只有那些元素被选中。如果你动态地添加/删除那个类,那么唯一需要的方法是,但是在这种情况下,委托事件处理程序无论如何都是更好的主意 –

+0

无论如何,你已经在过滤我的'.select_timedb',这个事件的所有实例都有这个类吗? – Curt

回答