美文网首页
From & Add & Remove & Search

From & Add & Remove & Search

作者: Jadon7 | 来源:发表于2018-10-11 13:07 被阅读0次
<!DOCTYPE html>
<html>
<head>
    <title>From & Add & Remove & Search</title>
</head>
<script type="text/javascript">
    window.onload=function()
    {
        var oTab=document.getElementById('tab1');

        var oName=document.getElementById('name');
        var oAge=document.getElementById('age');
        var oDone=document.getElementById('done');

        var aA=document.getElementsByTagName('a');

        var oSearchTxt=document.getElementById('searchText')
        var oSearchDone=document.getElementById('searchDone');
        var oResetSearch=document.getElementById('resetSearch');

        var oLength=oTab.tBodies[0].rows.length+1;

        var oldColor='';

        var oScreenText=document.getElementById('screenText');
        var oScreenDone=document.getElementById('screenDone');
        var oResetDone=document.getElementById('resetDone');

        var oSort=document.getElementById("sort");


        //排序
        oSort.onclick=function(){

            var arr=[];

            for (var i = 0; i < oTab.tBodies[0].rows.length; i++) {
                arr[i]=oTab.tBodies[0].rows[i];
            }

            arr.sort(function(a,b){

                var a=parseInt(a.cells[0].innerHTML);
                var b=parseInt(b.cells[0].innerHTML);

                return a-b;
            });

            for (var i = 0; i < oTab.tBodies[0].rows.length; i++) {
                oTab.tBodies[0].appendChild(arr[i]);
            }
            refresh();
            
        }


        //筛选
        oScreenDone.onclick=function(){
            
            for (var j = 0; j < oTab.tBodies[0].rows.length; j++) {
                oTab.tBodies[0].rows[j].style.display='table-row';
            }

            for (var j = 0; j < oTab.tBodies[0].rows.length; j++) {

                var sName=oTab.tBodies[0].rows[j].cells[1].innerHTML.toLowerCase();
                var sText=oScreenText.value.toLowerCase();

                if (sName.search(sText)==-1) {
                    refresh();
                    oTab.tBodies[0].rows[j].style.display='none';
                }
            }
        }

        //筛选重置
        oResetDone.onclick=function(){

            for (var j = 0; j < oTab.tBodies[0].rows.length; j++) {

                oTab.tBodies[0].rows[j].style.display='table-row';
            }
        }


        //测试
        // alert(oTab.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[0].getElementsByTagName('td')[1].innerHTML);
        // alert(oTab.tBodies[0].rows[0].cells[1].innerHTML)

        // oDone.onclick=function(){
        //  oTab.tBodies[0].innerHTML+='<tr><td>'+ (oTab.tBodies[0].rows.length+1) +'</td><td>'+oName.value+'</td><td>'+oAge.value+'</td></tr>';
        // }
        // alert(aA.length);



        //搜索
        oSearchDone.onclick=function(){

            if (oSearchTxt.value=='') {

                refresh();
            }
            else{
                for (var i = 0; i < oTab.tBodies[0].rows.length; i++) {

                    var oldColor2=oTab.tBodies[0].rows[i].style.background;
                    var sName=oTab.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase();
                    var sText=oSearchTxt.value.toLowerCase();

                    //多个关键词--跟多行填充暂时有冲突
                    function moreTage(){
                        oTab.tBodies[0].rows[i].style.background='';

                        for (var j = 0; j < sText.length; j++) {
                            if (sName.search(sText[j])!=-1) {
                                oTab.tBodies[0].rows[i].style.background='yellow';
                            }   
                        }
                    }

                    if (sName.search(sText)!==-1) {
                        refresh();
                        oTab.tBodies[0].rows[i].style.background='yellow';
                    }
                    else{
                        oTab.tBodies[0].rows[i].style.background=oldColor2;
                    }
                }

            }

            
        }

        //搜索重置
        oResetSearch.onclick=function(){
            refresh();
        }

        //删除
        for (var i = 0; i < aA.length; i++) {
            aA[i].onclick=function(){
                oTab.tBodies[0].removeChild(this.parentNode.parentNode);
                refresh();
            }           
        }
        
        //添加内容
        oDone.onclick=function(){
            oTr=document.createElement('tr');

            oTd=document.createElement('td');
            oTd.innerHTML=oLength++;
            oTr.appendChild(oTd);

            oTd=document.createElement('td');
            oTd.innerHTML=oName.value;
            oTr.appendChild(oTd);

            oTd=document.createElement('td');
            oTd.innerHTML=oAge.value;
            oTr.appendChild(oTd);

            oTd=document.createElement('td');
            oTd.innerHTML='<a href="javascript:;">删除</a>';
            oTr.appendChild(oTd);

            oTd.getElementsByTagName('a')[0].onclick=function(){
                oTab.tBodies[0].removeChild(this.parentNode.parentNode);
            }

            oTab.tBodies[0].appendChild(oTr);

            refresh();
        }

        //通过颜色区分每一行
        function refresh(){
            for (var i = 0; i < oTab.tBodies[0].rows.length; i++) {
                oTab.tBodies[0].rows[i].onmouseover=function(){
                    oldColor=this.style.background;
                    this.style.background='#ddd';
                }

                oTab.tBodies[0].rows[i].onmouseout=function(){
                    this.style.background=oldColor;
                }

                if (i%2)
                {
                    oTab.tBodies[0].rows[i].style.background='#eee';
                }
                else
                {
                    oTab.tBodies[0].rows[i].style.background='';
                }
            }       
        }
        refresh();
    }
</script>
<body>
    <input type="button" value="sort" id="sort">

    <input type="text" id="searchText">
    <input type="button" value="Search" id="searchDone">
    <input type="button" value="Reset" id="resetSearch">

    <br>

    <input type="text" id="screenText">
    <input type="button" value="Screen" id="screenDone">
    <input type="button" value="Reset" id="resetDone">

    <table id="tab1" border="1px" width="500px">
        <thead>
            <td>id</td>
            <td> 姓名</td>
            <td> 年龄</td>
            <td> 操作</td>
        </thead>
        <tbody>
            <tr>
                <td>2</td>
                <td>布鲁斯李</td>
                <td>27</td>
                <td><a href="javascript:;">删除</a></td>
            </tr>
            <tr>
                <td>4</td>
                <td>张三</td>
                <td>17</td>
                <td><a href="javascript:;">删除</a></td>
            </tr>
            <tr>
                <td>1</td>
                <td>李四</td>
                <td>22</td>
                <td><a href="javascript:;">删除</a></td>
            </tr>
            <tr>
                <td>3</td>
                <td>王麻子</td>
                <td>47</td>
                <td><a href="javascript:;">删除</a></td>
            </tr>

        </tbody>
    </table>
    name:<input type="text" id="name">
    age:<input type="text" id="age">
    <input type="button" value="done" id='done'>
</body>
</html>

相关文章

网友评论

      本文标题:From & Add & Remove & Search

      本文链接:https://www.haomeiwen.com/subject/pbkbaftx.html