jQuery點擊tr實現checkbox選中的方法

來源:互聯網
上載者:User

標題描述的有點不貼切,但希望大家能夠明白,為了更形像的表達,我特意錄製了一張GIF動畫圖片。

 

我不知道實際開發中有沒有用到這種效果,但我個人認為,這種方式更人性化,因為只要點到一行,就可以使CheckBox.checked=true; 不用非得點複選按鈕才能實現;

實現的過程有點糾結,試了幾次都沒成,最後用了一個笨笨的方法,就是點擊行的時候,讓他的子項目(td)的背景顏色為紅色.(因為我用到了光棒效果,如果我點擊行(td)的時候,顏色是變了,但滑鼠一離開的時候就又變回原來的顏色了)

可能你會問我了,那你咋判斷CheckBox的狀態是不是checked(勾選狀態)啊?

其實我根本沒去對它進行判斷.... 希望大家不要噴我。我只是判斷了一下選中行的子項目(td)的背景顏色和document.body的背景顏色是不是一樣,如果一樣,就讓CheckBox.checked=true,不一樣就讓CheckBox.checked=false.

思路就是這麼個思路,如果誰還有更好的方法貼上來,大家一起學習學習..

Jquery中用到的方法:

first():第一個元素;

nextAll():在XX之後的所有元素:主要為了把第一行的表頭去掉

children():尋找子項目;

toggleClass();轉場樣式

attr():給CheckBox添加checked屬性;

主要實現的代碼:

複製代碼 代碼如下:
$(function () {
            //除了表頭(第一行)以外所有的行添加click事件.
            $("tr").first().nextAll().click(function () {
                //為點擊的這一行轉場樣式bgRed裡的代碼:background-color:#FF0000;
                $(this).children().toggleClass("bgRed");
                //判斷td標記的背景顏色和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);
                }
            });
       });

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.