我碰到了奇怪的行为。我有一组复选框输入。本身下面的代码工作正常。但是,如果将它集成到网站,当你按下全部按钮没有发生css防止事件
$("[name*=group_]").live('click', function(){
var id = $(this).attr('name').substr(6,1);
var cnt = $("[value!='all'][name*=group_"+id+"]:checked").length;
if(cnt > 0){
$("[value='all'][name*=group_"+id+"]").removeAttr('checked');
} else {
$("[value='all'][name*=group_"+id+"]").attr('checked', 'checked');
}
})
<fieldset class="subject">
<input type="checkbox" value="all" name="group_4" id="group_4"><label title="All" for="all">All</label>
<input type="checkbox" value="15" id="cat_15" name="group_4[]"><label title="Maths" for="cat_15">Maths</label>
<input type="checkbox" value="16" id="cat_16" name="group_4[]"><label title="English" for="cat_16">English</label>
<input type="checkbox" value="14" id="cat_14" name="group_4[]"><label title="Science" for="cat_14">Science</label>
</fieldset>
请去那里http://jsfiddle.net/XXQTT/1/与Applicability
尝试。当你点击例如:Early Years
它可以工作,但是如果你点击All
- 什么都没有。我想它的CSS,因为但无法弄清楚如何,以及如何使其工作
现场()是一个过时功能。你应该使用on(),因为这段代码使用jquery 1.9.1。但是,这可能不是你的问题,只是一个评论... – jtheman
@jtheman我知道,那里有,只是我认为不同的选择和想法也许生活的帮助,只是还没有改变它。但这不是问题 –
@JohnTravolta:阐述'jtheman'的陈述。你不应该使用jQuery的depracated特性的原因是特性markes被depicated通常被更有效的方式所取代。此外,可以随时在任何下一个版本中删除具有特征**的功能,而不会有任何警告。有关详细信息,请查看[depracated item list](depracated item list)(http://api.jquery.com/category/deprecated/)。通常阅读jQuery在线文档是强烈推荐的东西,特别是阅读它非常容易阅读,因为它写得很好。 – Nope