<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    DANCE WITH JAVA

    開發出高質量的系統

    常用鏈接

    統計

    積分與排名

    好友之家

    最新評論

    js中實現table的插入、修改、刪除

    進來工作慢慢遠離web、遠離js,看著自己這些年來學習過程中寫過的上百個的js demo,感覺還是把它們發上來吧。雖然它們不夠完善,但對于js初學者還是比較有用的。整理一下慢慢發上來,算是留念吧。

    好了,第一從table開始吧
    就是上邊是一個表,下邊是一些錄入控件text ,select
    實現了:插入 ,刪除,修改,讀取,驗證類型唯一性(每種類型只能輸入一個記錄)
    文中的內容直接存成html就能看到效果,所以我就不貼圖片了。
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD>
    <script>
        
    var flg=false;
        
    var selectedColor = "#99CCCC";
        
    var initColor = "#ffff99";
        
    var selectedRowIndex = "";
        
    var editObj;
        
    function add(){
            
    var cell;
            
    var textNode;
            
    // add head
            var type = document.getElementsByName("type")[0];
            head 
    = type.options[type.selectedIndex].text;
            
    //check exist
            var hiddenHeads = document.getElementsByName("hiddenHead");
            
    for(i=0;i<hiddenHeads.length;i++){
                
    if(hiddenHeads[i].value == type.value){
                    alert(
    "這個類型的記錄已經存在");
                    
    return ;
                }

            }

            
    //add row
            tbl = document.getElementById("paramTbl");
            rowsLen 
    = tbl.rows.length;
            row 
    = tbl.insertRow(rowsLen);        
            
            
    //create head tag
            textNode = document.createTextNode(head);        
            cell 
    = row.insertCell(0)
            cell.setAttribute(
    "hight","22");
            cell.appendChild(textNode);        
            row.appendChild(cell);        
            
    //add param tag
            for(i=1;i<4;i++){            
                paramValue 
    = document.getElementsByName("param"+i)[0].value;
                textNode 
    = document.createTextNode(paramValue);            
                cell 
    = row.insertCell(i)
                cell.setAttribute(
    "hight","22");
                cell.appendChild(textNode);
                row.appendChild(cell);             
            }

            
    //add head value
            hiddenHead = document.createElement("<input type='hidden' name='hiddenHead' value='"+type.value+"'/>");        
            cell 
    = row.insertCell(4)        
            cell.setAttribute(
    "hight","22");
            cell.appendChild(hiddenHead);
            row.appendChild(cell);
            
    //add param value
            for(i=5;i<8;i++){
                paramValue 
    = document.getElementsByName("param"+(i-4))[0].value;
                hidden 
    = document.createElement("<input type='hidden' name='hiddenParam"+(i-4)+"' value='"+paramValue+"'/>");
                cell 
    = row.insertCell(i)
                cell.style.display
    ='none';
                cell.appendChild(hidden);
                row.appendChild(cell);   
            }


            row.onclick
    =function(){rowClick(this);};
            row.bgColor 
    = initColor;
            init();
        }

        
    function edit(){
            tbl 
    = document.getElementById("paramTbl");
            
    if(selectedRowIndex==""){
                alert(
    "please select a row");
                
    return ;
            }

            
    for(i=1;i<4;i++){
                paramObj 
    = document.getElementsByName("param"+i)[0];
                hiddenObj 
    = document.getElementsByName("hiddenParam"+i)[selectedRowIndex-1];
                hiddenObj.value 
    = paramObj.value;
                editObj.cells[i].innerText
    =paramObj.value;
            }

            init();
        }

        
    function del(){
            tbl 
    = document.getElementById("paramTbl");
            tbl.deleteRow(selectedRowIndex);
            selectedRowIndex 
    = "";
            init();

        }

        
    function rowClick(obj){
            tbl 
    = document.getElementById("paramTbl");
            
    if(selectedRowIndex != ""){
                tbl.rows[selectedRowIndex].bgColor 
    = initColor;
            }

            selectedRowIndex 
    = obj.rowIndex;
            obj.bgColor 
    = selectedColor;
            
    //reset select 
            var type = document.getElementsByName("type")[0];
            
    var hiddenHead = document.getElementsByName("hiddenHead")[selectedRowIndex-1];        
            
    var opts = type.options;
            
    if(flg){
            alert(selectedRowIndex
    -1);
            alert(hiddenHead);
            alert(hiddenHead.value);
            }

            
    for(i=0;i<opts.length;i++){    
                
    if(opts[i].value == hiddenHead.value ){
                    opts[i].selected 
    = true;
                }

            }

            
    //copy param value
            for(i=1;i<4;i++){
                paramObj 
    = document.getElementsByName("param"+i)[0];
                hiddenObj 
    = document.getElementsByName("hiddenParam"+i)[selectedRowIndex-1];            
                paramObj.value 
    = hiddenObj.value;
                
    //alert(hiddenObj.value);
            }

            editObj
    =obj;
        }

        
    function init(){
            
    for(i=1;i<4;i++){            
                param 
    = document.getElementsByName("param"+i)[0];
                param.value
    ="";
            }

            
    var type = document.getElementsByName("type")[0];
            type.options[
    0].selected=true;
        }

        
    function test(){
            
            hiddenObjs 
    = document.getElementsByName("hiddenParam1")
            
    for(i=0;i<hiddenObjs.length;i++){
                alert(hiddenObjs[i].value);
            }

            
    var hiddenHeads = document.getElementsByName("hiddenHead");    
            
    for(i=0;i<hiddenHeads.length;i++){
                alert(hiddenHeads[i].value);
            }

        }

        
    function test2(){
            
    if(flg){
                flg
    =false;
            }
    else{
                flg
    =true;
            }

        }

        
    function reset(){
            tbl 
    = document.getElementById("paramTbl");
            
    if(selectedRowIndex!=""){
                tbl.rows[selectedRowIndex].bgColor 
    = initColor;
                selectedRowIndex
    ="";
            }

            
    for(i=1;i<4;i++){            
                param 
    = document.getElementsByName("param"+i)[0];
                param.value
    ="";
            }

        }


    </script>
    <BODY>
        
    <div style="height:132px; width:100%; overflow-x:auto; overflow-y:auto; background-color:#ffff99;" >
        
    <table id="paramTbl" width="100%">
            
    <tr>
                
    <td>類型</td>
                
    <td>參數1</td>
                
    <td>參數二</td>
                
    <td>參數三</td>
            
    </tr>
        
    </table>
        
    </div>
        
    <table>
            
    <tr>
                
    <td>
                    
    <select name="type" onchange="reset()">
                        
    <option value="typeA">類型A</option>
                        
    <option value="typeB">類型B</option>
                    
    </select>
                
    </td>
                
    <td>
                    
    <input type="text" name="param1"/>
                
    </td>
                
    <td>
                    
    <input type="text" name="param2"/>
                
    </td>
                
    <td>
                    
    <input type="text" name="param3"/>
                
    </td>
            
    </tr>
            
    <tr>
                
    <td><input type="button" onclick="add()" value="add"/></td>
                
    <td><input type="button" onclick="edit()" value="edit"/></td>
                
    <td><input type="button" onclick="del()" value="del"/></td>
                
    <td><!--<input type="button" onclick="test()" value="test"/>--></td>
            
    </tr>
        
    </table>
        
    <!--
    <td><input type="button" onclick="test2()" value="test2"/></td>
    <td><input type="button" onclick="alert(selectedRowIndex)" value="test2"/></td>
    -->
    </BODY>
    </HTML>

    posted on 2007-09-10 15:24 dreamstone 閱讀(10325) 評論(4)  編輯  收藏 所屬分類: 片段腳本語言javascript

    評論

    # re: js中實現table的插入、修改、刪除 2008-10-25 00:39 vvd

    不錯哦  回復  更多評論   

    # re: js中實現table的插入、修改、刪除 2010-08-10 10:44 ss

    ok  回復  更多評論   

    # re: js中實現table的插入、修改、刪除 2011-09-07 18:30 http://m.tkk7.com/Modules/CaptchaImage/JpegI

    http://m.tkk7.com/Modules/CaptchaImage/JpegImage.aspx?cacheid=20110907180946http://m.tkk7.com/Modules/CaptchaImage/JpegImage.aspx?cacheid=20110907180946  回復  更多評論   

    # re: js中實現table的插入、修改、刪除 2011-09-07 18:30 http://m.tkk7.com/Modules/CaptchaImage/JpegI

    http://m.tkk7.com/Modules/CaptchaImage/JpegImage.aspx?cacheid=20110907180949  回復  更多評論   

    主站蜘蛛池模板: 女人被免费视频网站| 久久精品成人免费观看97| 亚洲日本香蕉视频| 无码欧精品亚洲日韩一区| 亚洲爆乳精品无码一区二区三区 | 欧美最猛性xxxxx免费| 久久综合国产乱子伦精品免费 | 精品免费国产一区二区三区| 免费毛片a在线观看67194| 最近免费字幕中文大全视频| 在线观看的免费网站无遮挡| 两个人看的www高清免费观看| 精品亚洲成a人片在线观看少妇| 国产自国产自愉自愉免费24区| 亚洲制服在线观看| 亚洲精品乱码久久久久久下载| mm1313亚洲国产精品美女| 免费在线观看黄网| 亚洲国产精品专区在线观看 | 日本亚洲精品色婷婷在线影院 | 亚洲国产精品免费在线观看| 无码人妻一区二区三区免费n鬼沢| 色偷偷噜噜噜亚洲男人| 国产精品亚洲综合| 一区二区三区精品高清视频免费在线播放| 久久精品国产亚洲AV高清热| 久久久久亚洲AV片无码下载蜜桃| 亚洲Av无码乱码在线观看性色| 亚欧在线精品免费观看一区 | 亚洲精品午夜视频| 亚洲Av无码一区二区二三区| 亚洲国产精品成人AV在线| 激情婷婷成人亚洲综合| 国产精品小视频免费无限app| 亚洲码欧美码一区二区三区| 国产亚洲美女精品久久久久| yellow视频免费看| 98精品全国免费观看视频| 操美女视频免费网站| 免费看国产一级片| 亚洲国产日韩在线视频|