1. 程式人生 > >jQuery_review之table中根據行選中,進行背景變色和radio選中

jQuery_review之table中根據行選中,進行背景變色和radio選中

    在各種WEB系統中經常可以看到類似的操作,點選中列表的某一行,然後當前行就會變成其他的顏色,並且其中的radio就會被選中。並且一般還會滑鼠滑過的時候的動態特效,比如滑鼠滑過當前行的時候會有一個變色的樣式。趁著複習jQuery的機會,看一下使用jQuery來實現這個功能的步驟。

   在這個功能當中,有一個需要注意的小知識點:如何增加一個radio?在HTML中,增加一個HTML使用如下的程式碼<input type="radio" name="fruit">這樣子,HTML解析引擎會幫幫我們做一件事情,就是會為我們維持這樣一個規則,同一個name的radio框在同一時間只能被選擇一個,這個也是為什麼這個框通常被稱之為單選框的原因了。此外,無論在哪個功能的實現中,最重要的當然就是如何選中當前頁面的元素了。在這個DEMO中,會用到下面幾種選擇的方式。element.hasClass("aClass")這個會返回一個boolean值,這個是用來判斷當前的元素是不是含有aClass樣式。element.removeClass('aClass')是從element上刪除aClass這個型別。element.find(selector)是從當前的element元素中找到符合選擇器的元素,在jQuery凡是能夠將選擇器作為引數傳入的函式,都是功能比較強大的,例如filter(),例如has()等。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <script type="text/javascript" src="jquery-1.8.3.js"></script>
  <script type="text/javascript">
  	$(document).ready(function(){
  		$("tbody>tr:odd").css("background-color","#FEF2E8");
  		$("tbody>tr:even").css("background-color","white");
  		$("tbody>tr").click(function(){
  			$(this).find(":radio").attr("checked",true)
  			  .end().find("td").addClass("selected")
  			  .end().siblings().find("td").removeClass("selected");
  		});
  	})
  </script>
  <style type="text/css">
  	table{
  		text-align:center;
  		width:400px;
  		height:100px;
  		border:solid #000 1px;
  	}
  	thead tr td{
  		border-bottom:solid #000 1px;
  	}
  	td.selected{
  		background-color:#E49B1A;
  	}
  	td.hover{
  		background-color:#EAFFE6;
  	}
  </style>
  </head>
  <body>
  	<table>
  		<thead>
  			<tr><td></td><td>fruit</td><td>price</td><td>date</td></tr>
  		</thead>
  		<tbody>
  			<tr><td><input type="radio" name="fruit"></td><td>orangle</td><td>$10.00</td><td>2013-01-12</td></tr>
  			<tr><td><input type="radio" name="fruit"></td><td>apple</td><td>$9.00</td><td>2013-01-22</td></tr>
  			<tr><td><input type="radio" name="fruit"></td><td>tomato</td><td>$2.00</td><td>2013-04-23</td></tr>
  			<tr><td><input type="radio" name="fruit"></td><td>banana</td><td>$1.00</td><td>2013-03-13</td></tr>
  			<tr><td><input type="radio" name="fruit"></td><td>eggplant</td><td>$7.00</td><td>2013-05-12</td></tr>
  			<tr><td><input type="radio" name="fruit"></td><td>orangle</td><td>$10.00</td><td>2013-01-12</td></tr>
  			<tr><td><input type="radio" name="fruit"></td><td>apple</td><td>$9.00</td><td>2013-01-22</td></tr>
  			<tr><td><input type="radio" name="fruit"></td><td>banana</td><td>$1.00</td><td>2013-03-13</td></tr>
  			<tr><td><input type="radio" name="fruit"></td><td>tomato</td><td>$2.00</td><td>2013-04-23</td></tr>
  			<tr><td><input type="radio" name="fruit"></td><td>eggplant</td><td>$7.00</td><td>2013-05-12</td></tr>
  		</tbody>
  	</table>
  </body>
</html>


相關推薦

jQuery_reviewtable根據選中進行背景變色radio選中

    在各種WEB系統中經常可以看到類似的操作,點選中列表的某一行,然後當前行就會變成其他的顏色,並且其中的radio就會被選中。並且一般還會滑鼠滑過的時候的動態特效,比如滑鼠滑過當前行的時候會有一個變色的樣式。趁著複習jQuery的機會,看一下使用jQuery來實現這個

element 中點選table的某一行使對應的Input獲取焦點

css中使inputh獲取焦點的方法是: autofocus='true' 在專案中點選table表格中的行,使input獲取焦點 element中table點選行的事件 @row-click="c

table的單行省略並不能讓td能自適應

targe href csdn mage cati 技術分享 ges details image 所以我不得對單行勝率設置width,多行在待測中(傳送門)。。。 table中的單行省略,並不能讓td能自適應

轉載:monkeyrunnereclipsemonkeyrunner腳本環境搭建(四)

導包 rep 是把 body tle cnblogs 9.png 解決方法 align 轉載自:lynnLi 的monkeyrunner之eclipse中運行monkeyrunner腳本之環境搭建(四) monkeyrunner腳本使用Python語法編寫,但它實際上是通

java打印等腰三角形的兩種方法!(根據根據底邊長度)

triangle class [] 執行 next() result scanner 1-1 next 首先來看根據用戶輸入的底邊的長度判斷: 1 package cn.edu.nwpu.java; 2 3 import java.util.Scanner; 4

js操作tabletr的順序實現上移下移一行的效果

總體思路是在table外部加個div,修改div的innerHtml實現改變tr順序的效果 具體思路是 獲取當前要移動tr行的rowIndex,在table中刪除掉,然後迴圈table的rows,到了目標行再直接加進去,最後把整體的html賦值給div完成效果 js程式碼如下 /

JS基礎(二)事件監聽練習table滑鼠懸停變色

JS監聽事件簡單學習:   [object].addEvent("事件型別","處理函式","冒泡事件或捕獲事件");    [object].removeEvent("事件型別","處理函式","冒泡事件或捕獲事件"); 場景:   表格標題行背景色是黃色,奇數行是白色,偶數行是灰色。  

iview——table巢狀input、select等

使用iview在table中嵌入button是比較常見的需求,但是在table中嵌入input或者select你是否考慮過呢?本文用例項介紹input和select在table中的巢狀。 理解table如何巢狀input、select首先要理解vue的render函式可以參考:vue render函式介紹。當

iView頁面Modal內嵌Tabs重新顯示Modal時預設選中Tabs的第一項

文件中說啟用面板的name用value,頁面第一次載入的時候可以,放在modal裡就不好使了,每次開啟的時候總顯示上一次離開時的介面。 真正能用的是 this.$refs.tabs.activeKey = 'name1' ,此方法也可以動態設定Tabs頁面。 html: <

JS 陣列有 undefined 值用 for 迴圈 for…in 迴圈遍歷的不同

先說結論:在陣列遍歷時一般最好使用for迴圈遍歷 var arr=new Array(); arr[0]="P90"; arr[3]="AWM"; arr[5]="AK47"; console.log("//for 迴圈遍歷"); for(let i=0;i<arr

SQL 根據號設定每資料的排序數值

根據行號自動把當前行號插入到某列中 實現排序 update tempTable set DisplayOrder = right( CAST(rownum as NVARCHAR),5) from( &nb

tablehead表頭固定body滾動

<div style="width: 800px;"> <div class="table-head"> <table> <colgroup> <col st

史無前例---NodeJs 讀取OracleDB 資料將data 生成 Excel檔案

/** * Created by json on 2017/6/5. * 推介使用:excel-export * 根據data ,JSON.parse(data)---<data=JSON.stringify(result)> * 設定 Exce

mysql根據“-”拆分字串並獲取當前小時轉數字

-- sql如下,就是判斷當前時間是否在某個時間段之間,時間段格式:9-12 SELECT * from table where (DATE_FORMAT( CURRENT_TIME() ,'%H' )+0)>=SUBSTRING_INDEX(order_time,'

vue + iview頁面Modal內嵌Tabs重新顯示Modal時預設選中Tabs的第一項

<Modal v-model="modal.visible" width="80%" transfer :title="modal.title" footer-hide> <Tabs ref="tabs" :animated="false">

Linux註釋刪除。

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">想在github上發點兒專案。結果被牆了。因為之前改過hosts檔案,加

獲取oracle資料庫中表記錄不使用select count()方式

   逐個表統計資料行數,使用Select count語句統計,比較蠻煩,而且慢,可以使用如下語句直接使用者下的所有表的資料行數。      select TABLE_NAME, T.num_rows, T.last_analyzed from tabs T    但是,從tabs表中獲取的資料不是非常準確,

jq+layuitable表每的編輯按鈕只能點擊觸發一次的問題的解決(未完待續)

控制臺 技術分享 目標 分享圖片 地方 觸發 div 一次 可見   在寫好表之後,測試時會發現,當你點擊第一行的“修改”,突然不想修改了,關閉了“修改”的彈窗,但是這時候你想到剛才第一行的修改還有地方要修改,你重新點擊“修改”按鈕,這時候它似乎故意跟你過不去似的,修

c++ 從文字讀取並按空格對讀取的一行進行分割

ifstream tf("tf.obj", std::ios::in);//開啟檔案 char s[50] = {0}; string v = ""; string x = ""; string y =

獲取gridview選擇前一次選擇的的資料

        private void gridView1_BeforeLeaveRow(object sender, DevExpress.XtraGrid.Views.Base.RowAllowEventArgs e)        {            int i