`
zhanghw0917
  • 浏览: 182618 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

javascript操作表格Table 

    博客分类:
  • Java
阅读更多

自: http://fulong258.blog.163.com/blog/static/1789504420088229280691/

 

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> JS操作表格 </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
   
<body>
   
</body>
<script language="javascript">
//添加表格

function loadTable()
{
    var tb = document.createElement("table");
    var rowTitle = tb.insertRow();
    var cellTitle1= rowTitle.insertCell();
    var cellTitle2= rowTitle.insertCell();
    cellTitle2.colSpan = 2;
    cellTitle2.align = "right";
    cellTitle2.innerHTML = "<input type = 'button' value= '确定' onclick='addRow(this.parentElement)'>";
    cellTitle1.innerHTML = "<span>添加</span>";
    loadSelect(cellTitle1);
   
    for(var i = 0; i < 10; i++){
        var row = tb.insertRow();//添加行

        loadCells(row, i);
    }
    //设置属性

    tb.id = "tb";
    tb.align="center";
    tb.cellPadding = 1;
    tb.bgColor="#ffffee";
    tb.style.borderWidth = "1px";
    tb.style.borderCollapse = "collapse";
    tb.style.borderStyle = "solid";
    tb.rules = "ALL";//应用全部

    tb.borderColor = "#000000";
    document.body.appendChild(tb);
}
//添加单元格

function loadCells(rowObj,m)
{
    var cell1 = rowObj.insertCell();//添加单元格

    var cell2 = rowObj.insertCell();//添加第二个单元格

    var cell3 = rowObj.insertCell();
   
    cell1.innerHTML = "&nbsp;" + parseInt(m + 1) + "&nbsp;";
    cell2.innerHTML = "<input type='text' name='txt_name' value=''>";
    cell3.innerHTML = "<span style='cursor:hand;' onclick='delRow(this)'>&nbsp;×&nbsp;</span>";
}
//添加select框

function loadSelect(obj)
{
    var s = document.createElement("select");
    s.id = "sel_count";
    s.name = s.id;
    for(var i = 1; i <= 10; i++){
        var opt = new Option(i+"行",i);
        s.options.add(opt);
    }
    obj.appendChild(s);
}
//删除行

function delRow(obj)
{
    var tr = obj.parentElement.parentElement;
    var tb = tr.parentElement.parentElement;//table标签和tr标签隐式存在一个tbody

   
    tb.deleteRow(tr.rowIndex);
}
//选择好的个数的行,传入单元格

function addRow(obj)
{
    var tr = obj.parentElement;
    var cnt = (tr.cells[0]).children[1].value;//个数

    var tb = tr.parentElement.parentElement;
   
    var lastRow = tb.rows[tb.rows.length - 1];//获得当前最后一行

    var maxIndex= parseInt(lastRow.cells[0].innerText);//获得当前表格中显示的最好编号

   
    for(var i = 0; i < cnt; i++){
        var newRow = tb.insertRow();
        loadCells(newRow,parseInt(maxIndex + i));
    }
        
}
   
loadTable();
</script>
</html>

 

********************************************************************************

 

<html>
    <head>
        <title></title>
        <SCRIPT LANGUAGE="JavaScript">
        function showTable(id){
          var tb=document.getElementById(id);
          var rows=tb.rows;
          for(var i=0;i<rows.length;i++){
             var cells=rows[i].cells;
             for(var j=0;j<cells.length;j++){
                 alert(cells[j].childNodes[0].value);
             }
          }
         }
         function showTd(id){
             var td=document.getElementById(id);
             var cell=td.parentElement;
             alert(cell.childNodes[0].value);
             alert(cell.cellIndex);
         }
        </SCRIPT>
    </head>
    <body>
        <input type="button" onclick="showTable('mailTable');" value="遍历table"/>
        <input type="button" onclick="showTd('th01Input');" value="取得td的index"/>
        <table id="mailTable">
            <tr>
                <th><input value="th00"></th>
                <th><input name="th01Input" value="th01"></th>
            </tr>
            <tr>
                <td><input value="th10"></td>
                <td><input value="th11"></td>
            </tr>
            <tr>
                <td><input value="th20"></td>
                <td><input value="th21"></td>
            </tr>
        </table>
    </body>
</html>

另外ie,firefox以及其它浏览器对于 table 标签的操作都各不相同,
在ie中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,
使用appendChile方法也不管用。

//向table追加一个空行:
var otr = otable.insertRow(-1);
var otd = document.createElement("td");
otd.innerHTML = " 测试";
otd.className = "css";
otr.appendChild(otd);

 

 

更多请进:
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics