如何让用户隐藏html表中的行

时间:2013-12-10 10:43:50

标签: javascript php jquery html mysql

我有一个表格,可以通过搜索查询的结果动态填充:

echo '<table class="table">';

if ($num==0) echo "<tr><td>Sorry, no items found.</td></tr>"; 

else {   
 echo '<tr> <th>Nr.</th> <th>Name</th>';
 echo '<th>Description</th> <th>Image</th>';

$lf = 1;
while ($dsatz = mysql_fetch_assoc($res))
    {
        echo '<tr>';
    echo "<td>$lf</td>";
    echo '<td><a href="'. $dsatz['link'] . '" target="_blank">' . $dsatz["name"] . '</a></td>';
    echo '<td>' . $dsatz["description"] . '</td>';
    echo '<td><a href="'. $dsatz['link'] . '" target="_blank"><img src="' . $dsatz['image'] . '" style="height:100px; width:auto" /></a></td>';
    echo '</tr>';
        $lf = $lf + 1;
        }            
}
echo '</table>';

结果是一个项目表。现在我想要做的是让用户可以通过单击隐藏任何行,或者,如果不可能,通过选中复选框并在表格中选择第二个隐藏(删除)按钮。不得仅从视图中隐藏数据库中删除行。

我有什么想法可以做到这一点?

THX SEB

/////////////////////////////编辑///////////////// ///////////////////////////

输入的Thx!

这对我有用:

在表格中:

echo "<td><input type='checkbox' name='hide_cand' style='float:right' id='hide_cand' onclick=' return hideRow(this)'/></td>";

脚本:

    function hideRow(checkbox)
    {
    if(confirm('This action can not be undone, are you sure you want to delete this item from the list?'))
        {
            checkbox.parentNode.parentNode.style.display = "none";
            return true;
        }
        return false;
    }

谢谢你的帮助!

3 个答案:

答案 0 :(得分:1)

基本上,你想要这样的东西:

$('.table').on('click','tr',function(){
    $(this).hide();
});

如果您想在每行中添加复选框:

$('.table').on('change','tr :checkbox',function(){
    $(this).closest('tr').hide(); //no need here to check for checkbox state
});

答案 1 :(得分:1)

认为最容易的是:

$('.table tr').click(function() {
    $(this).hide();
});

答案 2 :(得分:0)

尝试这样的事情

$("#tableID").delegate("td", "click", function() {
  $(this).closest("tr").hide();
});