我有一个表格,可以通过搜索查询的结果动态填充:
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;
}
谢谢你的帮助!
答案 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();
});