zoukankan      html  css  js  c++  java
  • JavaScript 表格操作

    <html>
    <head>
    <style>
    .btf{
        height:28px;
        background-color:#F8F0E1;
    }
    </style>
    <script type="text/javascript">
    var objTable;
    function PageLoad(){
        objTable = document.getElementById( "dataGrid" );//找到操作Table 
    }
    function copyRow(){
        var objTempRow = objTable.rows[2];//找到Table的模版行 
        var objNewRow = objTable.insertRow( objTable.rows.length );//在Table的末尾新增一行 
        objNewRow.className = "btf";//给表格的添加行样式
        objNewRow.id = objTable.rows.length - 1; 
        //以模版行建立新行内容 
        for ( var i=0 ; i<objTempRow.cells.length ; i++ ){ 
            var objNewCell = objNewRow.insertCell( i ); 
            objNewCell.innerHTML = objTempRow.cells[i].innerHTML; 
        }
    }
    function deletelastRow(){
        if ( objTable.rows.length -1 > 0 ){
            objTable.deleteRow(objTable.rows.length-1); //删除指定行
        }
    }
    
    function deletecheckedRow(){
        if(document.all('idarray').value!='undefined'){
            for(var i=document.all('idarray').length-1;i>-1;i--){
                if(document.all('idarray')[i].checked==true){
                    var r=Number(document.getElementById('tb'+document.all('idarray')[i].value).rowIndex);
                    objTable.deleteRow(r);
                }
            }
        }
    }
    function deleteRow(r){
        var i=r.parentNode.parentNode.rowIndex;
        objTable.deleteRow(i);
    }
    function addRow1(){ 
        var crTR = objTable.insertRow(); //增加一行
        var crTDa = crTR.insertCell();//第一个TD   
        var crTDb = crTR.insertCell();//第二个TD,带rowspan=2   
        crTDb.rowSpan=2;//设成rowspan=2;
        crTDb.colSpan=3;//设成colSpan=3;
        var croTR = objTable.insertRow();//再插入一个TR
        var croTD = croTR.insertCell();//TD,对应上边的rowspan=3的TD   
        //给单元格添加内容
        crTDa.innerHTML="<b>111111</b>这里innerHTML";   
        crTDb.innerHTML="222222跨行跨列:rowspan=2,colSpan=3";   
        croTD.innerText="<b>333333</b>这里innerText"; 
        croTD.width="20px;";//设置单列的宽度
        croTD.height="80px;";//设置单列的高度
        crTR.setAttribute('align','center');//这里通过setAttribute增加表单属性,
    }
    function addRow2(){
        var crTR = objTable.insertRow();
        var crTDa = crTR.insertCell();
        var crTDb = crTR.insertCell();
        crTDa.rowSpan=2;
        crTDb.colSpan=3;
        croTR = objTable.insertRow();
        var crTDc = croTR.insertCell();
        crTDc.colSpan=3;
        crTDa.innerHTML="111111 rowspan=2";
        crTDb.innerHTML="222222 colSpan=3";
        crTDc.innerHTML="333333 colSpan=3";
    }
    function mergecells(){
        if(objTable.rows[3].cells[3]==null)return false;//如果已经删除了,那就不允许再操作了
        objTable.rows[3].cells[2].innerHTML=objTable.rows[3].cells[2].innerHTML+objTable.rows[3].cells[3].innerHTML;
        objTable.rows[3].cells[2].colSpan=2;
        objTable.rows[3].deleteCell(3);//删除指定列
        //如果想要拆分单元格,那么1、可以先删除行,再添加新的行。
        //2、可以在当前单元格中增加一个table,其行数和列数就是拆分的行数和列数。
    }
    function isshowtitlerow(){
        if(document.getElementById("title").style.display=='')document.getElementById("title").style.display ="none";
        else document.getElementById("title").style.display ="";
    }
    function addtable(){
        var otable=document.createElement("table");//创建一表格
        //设置table的属性
        otable.setAttribute("CELLPADDING","0");
        otable.setAttribute("CELLSPACING","0");
        otable.setAttribute("border","1");
        var otr=otable.insertRow();//创建一空行
        var otd1 = otr.insertCell();//创建一空列
        var otd2 = otr.insertCell();//创建一空列
        otable.width='880';
        otr.className = "btf"; //行添加样式
        otd1.innerHTML = '单元格1'; //空列初始化值
        otd2.innerHTML = '单元格2居中'; //空列初始化值
        //设置列属性
        otd2.style.background="#7596C6";
        otd2.align="center";//等同.setAttribute('align','center');
        document.getElementById('addtable').innerHTML="";
        document.getElementById('addtable').appendChild(otable);//把表格追加到页面的div中
    }
    window.onload = PageLoad;//初始化获得所要操作的表格句柄
    </script>
    </head>
    <body>
        <table id="dataGrid" border="1" width="880" align="center">
            <tr id="title">
                <th>&nbsp;</th>
                <th>权限组名</th>
                <th>权限组描述</th>
                <th>删除</th>
            </tr>
            <tr id="tb965">
                <td><input type="checkbox" name="idarray" value="965" /></td>
                <td>船舶签证</td>
                <td>船舶签证啊啊</td>
                <td><input type="button" value="删除当前行" onclick="deleteRow(this)"></td>
            </tr>
            <tr id="tb961">
                <td><input type="checkbox" name="idarray" value="961" /></td>
                <td>拷贝项</td>
                <td>被拷贝</td>
                <td><input type="button" value="删除当前行" onclick="deleteRow(this)"></td>
            </tr>
            <tr id="tb960">
                <td><input type="checkbox" name="idarray" value="960" /></td>
                <td>违章录入</td>
                <td>违章录入哦</td>
                <td><input type="button" value="删除当前行" onclick="deleteRow(this)"></td>
            </tr>
        </table>
        <div id="addtable">在这里按“增加一个表格”会插入一个表格</div>
        <input type="button" value="删除选中的行" onclick="deletecheckedRow();" />
        <input id="btnInsert" name="btnInsert" type="button" onclick="copyRow()"
            value="拷贝第二行(带样式)" />
        <input id="btnDelete" name="btnDelete" type="button"
            onclick="deletelastRow()" value="删除末行" />
        <input type="button" value="增加一行(用setAttribute增加属性)"
            onclick="addRow1();" />
        <input type="button" value="增加一行(另)" onclick="addRow2();" />
        <input type="button" value="隐藏/显示标题栏" onclick="isshowtitlerow();" />
        <input type="button" value="取table的属性"
            onclick="alert(objTable.getAttribute('id')+':'+objTable.getAttribute('border'));" />
        <input type="button" value="合并第3行的后两列" onclick="mergecells();" />
        <input type="button" value="增加一个表格" onclick="addtable();" />
        <input type="button" value="共有多少行?"
            onclick="alert(objTable.rows.length);" />
    </body>
    </html>
  • 相关阅读:
    Thinkpad L440 无线驱动突然无法使用,无法搜索到无线上网
    如何判断服务器是物理机还是虚拟机
    生成Oracle的AWR报告
    Oracle数据库自带表空间
    Oracle数据库用户锁定原因以及处理方式(ORA-28000)
    Nginx反向代理和负载均衡
    Linux上Tomcat部署JavaWeb项目
    linux下memcached安装以及启动
    linux上安装activeMQ
    Windows下ActiveMQ下载、安装部署
  • 原文地址:https://www.cnblogs.com/HaiLian/p/5779684.html
Copyright © 2011-2022 走看看