一般情況下,頁面的表格內容都比較簡單,但是遇到有復雜表頭,而且項數非常多的時候,手動寫html非常麻煩耗時
這時候,只需要利用Excel就行了,在Excel中畫出要求的表格,直接另存為html即可。
如果只想要表格,拷貝里面的table。但是此時拷貝的html表格是不可編輯的,因為沒有輸入框。
加入想要編輯表格,方法有兩種。
一種是直接在每個td里面添加input輸入框,不過樣式很丑,因為不能保證每個input高度、寬度和td一致,如果想要一致,必須每個td的input都單獨設置樣式
還有一種是將每個td的坐標做成數組,只要點擊了表格時,td坐標滿足了數組里面的指標,就顯示一個input,這樣哪怕樣式不一樣,也只是一瞬間,而且只顯示一個input,
失去焦點之后表格樣式恢復,稍微好看一點。不過就是坐標數組比較難做。設置坐標數組的原因是防止表頭被修改
下面具體演示以下第二種操作
$('table td').click(function () { var td = $(this); //alert(td.parent().index()+":"+td.index()); var m = { "row": td.parent().index(), "col": td.index() } if (GetCellIsEdit(m)) { var str = "<input type='text' id='datainput' name='test' style='width:90%;height:18px;' />"; td.html(str); $("#datainput").focus(); $("#datainput").blur(function () { //失去焦點之后賦值,並傳遞給后端保存 var val = $(this).val(); td.empty(); td.html(val); //ajax操作... }) } function GetCellIsEdit(obj) { for (var i = 0; i < arr.length; i++) { if (arr[i].row == obj.row && arr[i].col == obj.col) { return true; break; } } return false; } var arr= [{"row":4,"col":2},{"row":4,"col":3},{"row":4,"col":4},...]