jquery完成帶複選框的表格行高亮顯示

jquery完成帶複選框的表格行高亮顯示

       通過jquery技術來操作表格是件簡單的事,通過jquery的語法,可以很輕鬆的完成表格的隔行換色,懸浮高亮,在實際的應用中可能會出現表格中帶複選框的,刪除時,將複選框所在的行的記錄刪除。在這的地方,可以加個特效,單擊某行的同時將該行的複選框選中,該行的背景色也高亮顯示。這樣給人的感覺非常好。

效果如下:

我做的這裏有兩個功能:

功能1、單擊某行,該行的複選框被選中,同時改變一下背景色。

功能2、單擊全選/全不選標籤後,改變行的顏色。

兩個功能我封裝到了js文件中,使用的時候引入就行了。

先看一下CSS的代碼,我封裝到了一個css文件中

.selected{ 
       background:#FF6500;
       color:#fff;
}

在看js文件的代碼:

功能1的代碼:

/**

 * 設置含有複選框的表格中的背景色

 */

$(document).ready(function()

{

       /**

        * 表格行被單擊的時候改變背景色

        */

       $("#tablight tr:gt(0)").click(function() //獲取第2行後

       {

              if ($(this).hasClass("selected"))//判斷是否選中

              {

                     $(this).removeClass("selected").find(":checkbox").attr("checked",false);//選中移除樣式

              }

              else//設置選中

              {

                     $(this).addClass("selected").find(":checkbox").attr("checked",true);//未選中添加樣式

              }

       });

});

功能2的代碼:

/**

 * 單擊全選和反選之後改變背景色

 */

function setColor()//設置tr的背景顏色

{

       var checkboxs = $("#tablight tr:gt(0) input[type=checkbox]");//得到所有的複選框

       var boxeds = $("#tablight tr:gt(0) input[type=checkbox]:checked");//得到被選擇的複選框

       if(boxeds.length > 0)

       {

              checkboxs.parent().parent().addClass("selected");//複選框在td裏

       }

       else

       {

              checkboxs.parent().parent().removeClass("selected");

       }

}

如果想要使代碼生效,需要給表格加上id屬性,屬性值爲“tablight”,同時全選/全不選之後調用setColor方法就行了。

發佈了91 篇原創文章 · 獲贊 632 · 訪問量 101萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章