1

一直在寻找答案,但没有找到。我有一个代码,它显示一个基于参数“rg1”从服务器端 genqueuesearch.php 中提取的表。每行都有一个名为 Queue 的列,其中包含一个“rg1”字符串。该表有几列,但我的挑战是只显示 4 列。这是我的 AJAX 代码:

<html>
<head>
<script language="Javascript">
   function View(){
   ...
      xmlhttp.onreadystatechange=function(){
         if (xmlhttp.readyState==4 && xmlhttp.status==200){
            document.getElementById("datatable").innerHTML=xmlhttp.responseText;    
         }
      }

      var parameters = "search="+"rg1";
      xmlhttp.open("POST", "http://drcsblr0165/genqueuesearch.php", true);
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.send(parameters); 
   }
</script>
</head>

   <body onload="View()">
      <div id="datatable" align="center"></div>
   </body>

</html>

试过 getElementsbyTagName 但我不知道我想要的列的标签名称。这是否需要先将表格保存到文本文件?感谢您的所有帮助,如果我不清楚,请询问。

4

1 回答 1

0

由于您无法更改服务器为您提供的内容,因此我们仅限于使用 JavaScript 解决此问题。我确实建议你使用 jQuery,因为它会让你的事情变得更简单。

jQuery 利用 CSS 选择器模式在 DOM 中查找元素。您可以利用它来选择表中要隐藏的列。即使您不知道它们的名称,您甚至可以选择特定的列。

说,你从服务器取回这样的表,你把它放在你的<div id="datatable">

<div id="datatable" align="center">
    <table>
        <tr>
            <td>dataRow1Col1</td>
            <td>dataRow1Col2</td>
            <td>dataRow1Col3</td>
            <td>dataRow1Col4</td>
        </tr>
        <tr>
            <td>dataRow2Col1</td>
            <td>dataRow2Col2</td>
            <td>dataRow2Col3</td>
            <td>dataRow2Col4</td>
        </tr>
        <tr>
            <td>dataRow3Col1</td>
            <td>dataRow3Col2</td>
            <td>dataRow3Col3</td>
            <td>dataRow3Col4</td>
        </tr>
        <tr>
            <td>dataRow4Col1</td>
            <td>dataRow4Col2</td>
            <td>dataRow4Col3</td>
            <td>dataRow4Col4</td>
        </tr>
    </table>
</div>

例如,使用:nth-child选择器不需要您知道名,$('#datatable td:nth-child(3)').hide();将选择第 3 列并将其隐藏。(参见示例:http: //jsfiddle.net/Cjsua/

您可以在 jQuery 文档中找到更合适的选择器:http: //api.jquery.com/category/selectors/

.hide()函数只是隐藏匹配的元素。

于 2013-05-29T19:08:56.687 回答