复选框怎么点td选中_jQuery点击tr实现checkbox选中的方法
標(biāo)題描述的有點(diǎn)不貼切,但希望大家能夠明白,為了更形像的表達(dá),我特意錄制了一張GIF動畫圖片。
我不知道實(shí)際開發(fā)中有沒有用到這種效果,但我個人認(rèn)為,這種方式更人性化,因?yàn)橹灰c(diǎn)到一行,就可以使CheckBox.checked=true; 不用非得點(diǎn)復(fù)選按鈕才能實(shí)現(xiàn);
實(shí)現(xiàn)的過程有點(diǎn)糾結(jié),試了幾次都沒成,最后用了一個笨笨的方法,就是點(diǎn)擊行的時候,讓他的子元素(td)的背景顏色為紅色.(因?yàn)槲矣玫搅斯獍粜Ч?#xff0c;如果我點(diǎn)擊行(td)的時候,顏色是變了,但鼠標(biāo)一離開的時候就又變回原來的顏色了)
可能你會問我了,那你咋判斷CheckBox的狀態(tài)是不是checked(勾選狀態(tài))啊?
其實(shí)我根本沒去對它進(jìn)行判斷.... 希望大家不要噴我。我只是判斷了一下選中行的子元素(td)的背景顏色和document.body的背景顏色是不是一樣,如果一樣,就讓CheckBox.checked=true,不一樣就讓CheckBox.checked=false.
思路就是這么個思路,如果誰還有更好的方法貼上來,大家一起學(xué)習(xí)學(xué)習(xí)..
Jquery中用到的方法:
first():第一個元素;
nextAll():在XX之后的所有元素:主要為了把第一行的表頭去掉
children():查找子元素;
toggleClass();切換樣式
attr():給CheckBox添加checked屬性;
主要實(shí)現(xiàn)的代碼:
$(function () {
//除了表頭(第一行)以外所有的行添加click事件.
$("tr").first().nextAll().click(function () {
//為點(diǎn)擊的這一行切換樣式bgRed里的代碼:background-color:#FF0000;
$(this).children().toggleClass("bgRed");
//判斷td標(biāo)記的背景顏色和body的背景顏色是否相同;
if ($(this).children().css("background-color") != $(document.body).css("background-color")) {
//如果相同,CheckBox.checked=true;
$(this).children().first().children().attr("checked", true);
} else {
//如果不同,CheckBox.checked=false;
$(this).children().first().children().attr("checked", false);
}
});
});
總結(jié)
以上是生活随笔為你收集整理的复选框怎么点td选中_jQuery点击tr实现checkbox选中的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中for语句涉及的序列可以是
- 下一篇: 捕获异常_Recover捕获异常