<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 閱讀(10323) 評論(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  回復  更多評論   

    主站蜘蛛池模板: 日本亚洲欧美色视频在线播放| 亚洲剧情在线观看| 色老头综合免费视频| 嫩草影院免费观看| 亚洲高清毛片一区二区| 最近中文字幕无免费视频| 亚洲高清中文字幕免费| 欧洲精品成人免费视频在线观看 | 日韩国产精品亚洲а∨天堂免| 成人在线免费观看| 色窝窝亚洲AV网在线观看| 亚洲AV无码乱码精品国产| 午夜成人无码福利免费视频| 国产亚洲视频在线播放| 久久久久久一品道精品免费看| 亚洲白嫩在线观看| 日韩高清在线免费看| 精品久久久久久国产免费了| 亚洲AV无码精品无码麻豆| 亚洲免费在线视频观看| 亚洲av无码成人影院一区| 亚洲国产综合久久天堂| 日韩免费在线视频| 77777亚洲午夜久久多喷| 国产极品粉嫩泬免费观看 | 亚洲人成影院在线无码观看| 国产精品无码永久免费888| 亚洲AV日韩AV永久无码免下载 | 国产无遮挡色视频免费视频| 羞羞视频免费网站日本| 亚洲AV无码久久精品色欲| 免费观看成人毛片a片2008| 色屁屁在线观看视频免费| 亚洲成人午夜在线| 成人免费福利电影| 亚洲国产免费综合| 亚洲国产精品综合久久20| 亚洲中文字幕丝袜制服一区| 免费观看激色视频网站bd | 久草福利资源网站免费| 亚洲欧美不卡高清在线|