本文實(shí)例講述了jQuery實(shí)現(xiàn)的可編輯表格。分享給大家供大家參考,具體如下:
專(zhuān)業(yè)從事網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,高端網(wǎng)站制作設(shè)計(jì),成都微信小程序,網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用H5頁(yè)面制作+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站,讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過(guò)程建立專(zhuān)項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。
!DOCTYPE
HTML
PUBLIC
"-//W3C//DTD
HTML
4.01//EN"
""
html
head
meta
http-equiv="Content-Type"
content="text/html;
charset=utf-8"
title可編輯表格/title
script
type
=
"text/javascript"
src="jquery-1.7.2.min.js"/script
style
type
=
"text/css"
body{
background:#c0c0c0;
}
#tab{
border-collapse:collapse;
}
#tab
td{
width:50px;
height:18px;
border:1px
solid;
text-align:center;
}
/style
script
type
=
"text/javascript"
$(function(){
var
tds
=
$("#tab
tr
td");
editeTable(tds);
});
function
editeTable(tds){
tds.click(function(){
var
td=$(this);
var
oldText=td.text();
var
input=$("input
type='text'
value='"+oldText+"'/");
td.html(input);
input.click(function(){
return
false;
});
input.css("border-width","1px");
input.css("font-size","12px");
input.css("text-align","center");
input.css("width","0px");
input.width(td.width());
input.trigger("focus").trigger("select");
input.blur(function(){
td.html(oldText);
});
input.keyup(function(event){
var
keyEvent=event
||
window.event;
var
key=keyEvent.keyCode;
var
input_blur=$(this);
switch(key)
{
case
13:
var
newText=input_blur.val();
td.html(newText);
changeCurrConAttrByTable(currTableId);
break;
case
27://按下esc鍵,取消修改,把文本框變成文本
td.html(oldText);
break;
}
});
});
};
/script
/head
body
table
id
=
"tab"
tr
td1/tdtd1/tdtd1/tdtd1/tdtd1/td
/tr
tr
td1/tdtd1/tdtd1/tdtd1/tdtd1/td
/tr
tr
td1/tdtd1/tdtd1/tdtd1/tdtd1/td
/tr
tr
td1/tdtd1/tdtd1/tdtd1/tdtd1/td
/tr
tr
td1/tdtd1/tdtd1/tdtd1/tdtd1/td
/tr
/table
/body
/html
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《jQuery表格(table)操作技巧匯總》、《jQuery常用插件及用法總結(jié)》、《jquery中Ajax用法總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見(jiàn)經(jīng)典特效匯總》、《jQuery動(dòng)畫(huà)與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
一般都會(huì)在后臺(tái)獲得,比如這個(gè)表格的數(shù)據(jù)是用$list這個(gè)變量存儲(chǔ)的,$list中每個(gè)元素都有id date title file四個(gè)字段,checkbox的name是id,現(xiàn)在寫(xiě)一個(gè)js方法用來(lái)將選中的復(fù)選框傳到后臺(tái),需要使用一個(gè)按鈕觸發(fā)下面的方法
function fun(){
var arr = new Array();
$(":checked").each(function(){
arr[] = $(this).attr("name");
});
//然后用任意方法將arr傳到后臺(tái)
}
在后臺(tái)根據(jù)傳回來(lái)的id在$list中獲得要你想要的數(shù)據(jù)。
上面是我覺(jué)得最簡(jiǎn)單的方法。
下面還有一個(gè)在頁(yè)面里獲得你要的數(shù)據(jù)的方法
將每一行數(shù)據(jù)都寫(xiě)在同一個(gè)div里,根據(jù)復(fù)選框的標(biāo)示獲得對(duì)應(yīng)div內(nèi)的數(shù)據(jù)
div name=“id”數(shù)據(jù), (最后一列)input type="checkbox" name="id" //div
script
function fun(){
var arr = new Array();
var name = '';
$(":checked").each(function(){
name = $(this).attr("name");
arr[] = $("div[name=" + name + "]").html();
});
}
/script
var td=$("#你這個(gè)單元格的id");//當(dāng)然了,這只是id選擇器去獲取標(biāo)簽對(duì)象,還有其他很多選擇器!
$(td).html("你要改變的內(nèi)容");
需要準(zhǔn)備的材料分別有:電腦、html編輯器、瀏覽器。
1、首先,打開(kāi)html編輯器,新建html文件,例如:index.html,并引入jquery,編寫(xiě)問(wèn)題基礎(chǔ)代碼。
2、在index.html中的script標(biāo)簽,輸入jquery代碼:
$('body').append($('tr').find('td:eq(0)').text());
3、瀏覽器運(yùn)行index.html頁(yè)面,此時(shí)成功取到了表格的第一頁(yè)數(shù)據(jù)并打印。
提供你2中思路,具體代碼就不寫(xiě)了
生成表的時(shí)候給修改鏈接一個(gè)id,id保存當(dāng)前行的主鍵比如id="tid"+主鍵,為它添加onclick方法,
var id=this.id.replace("tid",""); 獲取到主鍵
把主鍵拿到數(shù)據(jù)庫(kù)中查到相應(yīng)的數(shù)據(jù)行,賦值給表單,完成!
var parents=$(this).parent().parent();? 獲得tabel行
$(parents).find("td").each(function(){
根據(jù)列的順序賦值給相應(yīng)的表單元素
})
這個(gè)方法有局限性,數(shù)據(jù)是從當(dāng)前頁(yè)面中取得并不是實(shí)時(shí)讀取數(shù)據(jù)庫(kù),如果數(shù)據(jù)在他處有更改是取不到最新的數(shù)據(jù)的。
一、數(shù)據(jù)準(zhǔn)備
二、操作
//1.鼠標(biāo)移動(dòng)行變色
$("#table1 tr").hover(function(){
$(this).children("td").addClass("hover")
},function(){
$(this).children("td").removeClass("hover")
})
$("#table2 tr:gt(0)").hover(function() {
$(this).children("td").addClass("hover");
}, function() {
$(this).children("td").removeClass("hover");
});
//2.奇偶行不同顏色
$("#table3 tbody tr:odd").css("background-color", "#bbf");
$("#table3 tbody tr:even").css("background-color","#ffc");
$("#table3 tbody tr:odd").addClass("odd")
$("#table3 tbody tr:even").addClass("even")
//3.隱藏一行
$("#table3 tbody tr:eq(3)").hide();
//4.隱藏一列
$("#table5 tr td::nth-child(3)").hide();
$("#table5 tr").each(function(){$("td:eq(3)",this).hide()});
//5.刪除一行
// 刪除除第一行外的所有行
$("#table6 tr:not(:first)").remove();
//6.刪除一列
// 刪除除第一列外的所有列
$("#table6 tr td:not(:nth-child(1))").remove();
//7.得到(設(shè)置)某個(gè)單元格的值
//設(shè)置table7,第2個(gè)tr的第一個(gè)td的值。
$("#table7 tr:eq(1) td:nth-child(1)").html("value");
//獲取table7,第2個(gè)tr的第一個(gè)td的值。
$("#table7 tr:eq(1) td:nth-child(1)").html();
//8.插入一行:
//在第二個(gè)tr后插入一行
$("插入3插入插入插入").insertAfter($("#table7 tr:eq(1)"));
//刪除指定行(第二行) $("#table3 tr:gt(0):eq(1)").remove();
(2)刪除列,比如刪除表格中的第二列:
//eq:獲取子元素索引從 0 開(kāi)始,先刪除表頭$("#table3 tr th:eq(1)").remove();//nth-child:獲取子元素從 1 開(kāi)始$("#table3 tr td:nth-child(2)").remove();
(3)刪除其它行,比如第二行之外的所有行:
$("#table3 tr:gt(0):not(:eq(1))").remove();
(4)刪除其它列,比如第二列之外的所有列:
//先刪除表頭$("#table3 tr th:not(:eq(1))").remove();$("#table3 tr td:not(:nth-child(2))").remove();
(5)隱藏行,比如隱藏第二行:
$("#table3 tr:gt(0):eq(1)").hide();//或者//$("#table3 tr:gt(0):eq(1)").css("display", "none")//顯示//$("#table3 tr:gt(0):eq(1)").css("display", "");
(6)隱藏列,比如隱藏第二列:
$("#table3 tr th:eq(1)").hide();
$("#table3 tr td:nth-child(2)").hide();
//或者
//$("#table3 tr th:eq(1)").css("display", "none");
//$("#table3 tr td:nth-child(2)").css("display", "none");
//顯示
//$("#table3 tr th:eq(1)").css("display", "");
//$("#table3 tr td:nth-child(2)").css("display", "");
jquery 獲取 table 總行數(shù):
$("table tr").size();
var hang = $("#g").find("tr").length;
jquery 獲取 table 總列數(shù):
$("table td").size();
var lie = $("#g").find("tr").find("td").length-1;