jquery有一個很方便的插件UI Table Filter可以根據輸入的內容隱藏顯示表格中相應的數據行。
          因為目前使用的tapestry捆綁的是prototype,所以就自己寫了一個類似的插件。

          <html>
          <head>
          <script src="prototype-1.6.0.2.js" type="text/javascript"></script>
          <script language="javaScript">
           Event.observe(window, 'load', function() {
            Event.observe('filter', 'keyup', filterTable);
           });
           function filterTable() {
            var filterCaseElement = document.getElementById('filterCase');
            var caseSensitive = filterCaseElement.checked;
            
            $$('tr').each(function(trElement, ind) {
             var val = $('filter').value;
             
             if ( ! caseSensitive ) {
              val = val.toLowerCase();
             }
                 
             trElement.childElements().each(function(tdElememt) {
               var tdText = tdElement.innerText;
              if ( ! caseSensitive ) {
               tdText = tdText.toLowerCase();
              }
              if (tdText.include(val)) {
               trElement.show();
              } else if ( ind > 0 ) {
               trElement.hide();
              }
             });
            });
           }
          </script>

          </head>

           <body>
            filter: <input type="text" id="filter" name="filter"/> <input type="checkbox" id="filterCase" onchange="javaScript:filterTable();"/> Case-Sensitive
            <table border="1">
             <thead>
              <tr>
               <th>name</th>
               <th>column1</th>
               <th>column2</th>
               <th>column3</th>
               <th>column4</th>
               <th>column5</th>
               <th>column6</th>
              </tr>
             </thead>
             <tr>
              <td>TEST</td>
              <td>00150002331</td>
              <td>238156</td>
              <td>075</td>
              <td>001</td>
              <td>172.16.14.20</td>
              <td>1-1-05</td>
             </tr>
             <tr>
              <td>TEST-2</td>
              <td>00150002332</td>
              <td>238157</td>
              <td>075</td>
              <td>002</td>
              <td>172.16.14.21</td>
              <td>1-1-05</td>
             </tr>
             <tr>
              <td>TEST</td>
              <td>00150002333</td>
              <td>238158</td>
              <td>075</td>
              <td>003</td>
              <td>172.16.14.23</td>
              <td>1-1-05</td>
             </tr>
             <tr>
              <td>TEST</td>
              <td>00150002341</td>
              <td>238159</td>
              <td>075</td>
              <td>004</td>
              <td>172.16.14.24</td>
              <td>1-1-05</td>
             </tr>
             <tr>
              <td>TEST</td>
              <td>00150002339</td>
              <td>238186</td>
              <td>075</td>
              <td>006</td>
              <td>172.16.14.26</td>
              <td>1-1-06</td>
             </tr>
            </table>
           </body>
            </html>

          如果頁面中多個表格,而只需要對其中的一個表格的數據進行過濾的話,簡單地把其中:$$('tr').each(function(ele, index) 改成 $$('#tableId, tr').each(function(ele, index) 就行了,其中的tableId就是表格的id

          云自無心水自閑 2010-07-28 11:02 發表評論
          posted on 2010-07-28 11:02 sanmao 閱讀(127) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 钟山县| 峨边| 德庆县| 桓台县| 临邑县| 兴仁县| 漳平市| 惠安县| 伽师县| 永丰县| 怀柔区| 金堂县| 屏东县| 颍上县| 彭山县| 密云县| 扎兰屯市| 黄大仙区| 嘉定区| 邵东县| 丰顺县| 大悟县| 保亭| 贡嘎县| 措美县| 台中县| 通州市| 乌兰察布市| 景宁| 兴文县| 武陟县| 正镶白旗| 麦盖提县| 武川县| 保山市| 万安县| 盐山县| 色达县| 福鼎市| 安龙县| 高雄市|