<div id="dtree_activity">
<ul><li><a href="#" class=""><ins class="jstree-checkbox"> </ins>
<ins class="jstree-icon"> </ins>Fresh</a></li></ul>
</div>
我的代码: -
j('#dtree_activity').click(function(){
if(j('#dtree_activity li').is('.jstree-checked'))
{
doSometin();
}
else
{
doSometinElse();
}
});
它的作用: -
检查是否单击了复选框[Image]。由“jstree-checked”类的存在决定
问题: -
它有效,但状态是一次点击更新。
例如:我选中复选框,它应该是Somtin()......但它不会 如果我再次点击div中的任何地方,它将转到doSometin()
答案 0 :(得分:1)
你刚才错误的逻辑方式。这应该有帮助...
j('#dtree_activity').click(function(){
if (j(this).find('li').is('.jstree-checked'))
{
// It's already checked so we're unchecking here
j(this).find('li').removeClass('.jstree-checked');
doSometinElse();
}
else
{
// It's not checked so we're checking here
j(this).find('li').addClass('.jstree-checked');
doSometin();
}
});
答案 1 :(得分:1)
但我不想删除任何课程。只需检查它是否存在..
在这种情况下,使用hasClass()
返回一个布尔值,以查看所选元素是否具有指定的类。例如:
if (j('#dtree_activity li').hasClass('jstree-checked')) {
doSometin();
}
else {
doSometinElse();
}
进一步阅读hasClass()
答案 2 :(得分:0)
setInterval(function() {
if(j('#dtree_activity').find('li').is('.jstree-checked'))
{
showGetProductBtn();
}
else
{ hideGetProductBtn();}
}, 2000);