-1

我有一个在 php 中创建的表,其中包含多行客户信息,另外一行包含有关每个客户的注释。

我想要表格上方的按钮,单击该按钮将显示或隐藏每个客户的注释行。到目前为止,我的代码似乎没有产生任何东西,我在这里创建了表格:

echo "<table id='listTable' border='1' cellpadding='10' class='listTable'>";
    echo "<tr> <th>ID</th> <th>First Name</th> <th>Last Name</th> <th>Company Name</th> <th>Telephone</th> <th>Alt/ Telephone</th>   <th>Address </th>  <th>Town</th>  <th>Postcode</th>  <th></th>   <th></th> <th></th> <th></th></tr>";

    // loop through results of database query, displaying them in the table 
    for ($i = $start; $i < $end; $i++)
    {
            // make sure that PHP doesn't try to show results that don't exist
            if ($i == $total_results) { break; }

            // echo out the contents of each row into a table
            echo "<tr class='main'>";
            echo '<td>' . mysql_result($result, $i, 'id') . '</td>';
            echo '<td>' . mysql_result($result, $i, 'First_Name') . '</td>';
            echo '<td>' . mysql_result($result, $i, 'Surname') . '</td>';
            echo '<td>' . mysql_result($result, $i, 'Company_Name') . '</td>';
            echo '<td>' . mysql_result($result, $i, 'Telephone') . '</td>';
            echo '<td>' . mysql_result($result, $i, 'Alt_Telephone') . '</td>';
            echo '<td>' . mysql_result($result, $i, 'line_1') . '</td>';
            echo '<td>' . mysql_result($result, $i, 'town') . '</td>';
            echo '<td>' . mysql_result($result, $i, 'postcode') . '</td>';
            echo '<td><a href="edit.php?id=' . mysql_result($result, $i, 'id') . '">View</a></td>';
            echo '<td><a href="delete.php?id=' . mysql_result($result, $i, 'id') . '">Delete</a></td>';
            echo '<td><a href="archive.php?id=' . mysql_result($result, $i, 'id') . '">archive</a></td>';
            echo '<td><a href="NewJob.php?id=' . mysql_result($result, $i, 'id') . '">New Job</a></td>';
            echo "</tr class='notes'>"; 
            echo "<tr>";
            echo '<td>' . mysql_result($result, $i, 'notes') . '</td>';
            echo "</tr>"; 

    }
    // close table>
    echo "</table>"; 

并在我的代码顶部有以下 Javascript

<link rel="stylesheet" type="text/css" href="test.css"/>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<html>
<head>
    <title>View Records</title>

<script language="Javascript">
var rows = $('table.listTable tr.notes');

$('#showNotes').click(function() {
    var showN = rows.filter('.showN').show();
    rows.not( showN ).hide();
});

</script>
</head>

使用向下创建的切换按钮

<button id="showNotes">Toggle Notes</button>

当我单击按钮时,什么也没有发生

4

2 回答 2

2

您将类添加notes到关闭标签</tr>

你有:

echo "</tr class='notes'>"; 
echo "<tr>";

应该:

echo "</tr>"; 
echo "<tr class='notes'>";

和 jQuery:

$(document).ready(function() {
  $('#showNotes').click(function() {
      $('#listTable tr.notes').toggle();
  });
});

现在对您的代码进行一些说明:

  1. 使用mysqli_*,mysql_*已弃用。
  2. 如果您在 echo 中使用 HTML,可以尝试'一下:echo '<tr class="notes">'我认为看起来更好。
  3. 使用准备好的语句:mysqli.prepare
  4. 检查一下(针对您的for循环):mysqli-stmt.fetch
于 2013-11-04T21:08:44.557 回答
0

将脚本包装在文档就绪函数中:

$(document).ready(function() {
  $('#showNotes').click(function() {
      var showN = rows.filter('.showN').show();
      rows.not( showN ).hide();
  });
});
于 2013-11-04T21:02:56.750 回答