我碰到了奇怪的行爲。我有一組複選框輸入。本身下面的代碼工作正常。但是,如果將它集成到網站,當你按下全部按鈕沒有發生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