2013-08-31 104 views
0

您好我有循环和呼应了这一结果如何删除(不删除)动态生成的表格元素?

echo '<tr><td id="'.$row['productID'].'"><img height="150px" width="130px" 
src="products/'.$row['image_url'].'"></td><td>'.$row['name'].'</td> 
<td>'.$row['price'].'</td></tr>'; 

以上导致一个完整的数据表,现在我该怎样删除特定的行,我想删除它不会从表中删除,如一个购物车,您可以删除该项目,但不会将其从表格中删除。在这种情况下,你将如何使用JavaScript或其他任何其他?

非常感谢。

+0

删除在哪里? JavaScript的? PHP的?在SQL? – vol7ron

回答

0

给它一个id和使用jQuery做的

$('yourid').hide(); // to hide 

$('yourid').show(); // to show 
+0

抱歉,编辑错字 – Tushar

+1

@Bart Friederichs不是?我一直认为jQuery是用javascript编写的 –

+0

@RaymondNijland jQuery是用Javascript编写的。 jQuery肯定不是标准的或总是可用的。 –

-1

如果u使用jquery,u必须了解产品的ID删除

$('td#productId').parent().hide(); 
0

请您不必为的JQuery这样简单的事情..

document.getElementById('id_off_product').style.display = 'none'; 
0

你不需要jQuery来做到这一点,虽然你可以如果你愿意的话。

如果你想隐藏的产品:

document.getElementById('product_id').style.display = 'none'; 

使用jQuery:

$('#product_id').hide(); 

如果你想再次显示:

document.getElementById('product_id').style.display = ''; 

使用jQuery :

$('#product_id').show(); 

如果要完全删除产品:

document.getElementById('product_id').remove(); 

使用jQuery:

$('#product_id').remove(); 

另外,你或许应该把id实际表行(tr )而不是表格单元格(td)。

+0

如果你想再次显示它应该是document.getElementById('product_id')。style.display ='block'; –

+0

这会将产品的'display'设置为'block',这不一定就是你想要的。例如,'td'元素的'display'应该是'table-cell'。只需重置“显示”属性是最好的解决方案。 – skimberk1

+0

也许仍然想知道如果它会触发基于IE的CSS渲染引擎hasLayout属性,如果你传递它在一个空的字符串,我认为它不会发生 –

1

在表中增加一个字段。用于活性行

默认值是1 ....

去激活行是值为0

当检索数据形式表中使用的,其中功能为Active行

0

skimberk1的回答是最全面的。这是一个例子,它允许在行上删除行(父/ tr)的按钮。

<table id="test"> 
    <tr> 
     <td>one</td><td>two</td><td id="test" onclick="removerow(this);">remove</td> 
    </tr> 
</table> 

function removerow(e) { 
    e.parentNode.remove(); 
} 

http://jsfiddle.net/FqbHW/19/embedded/result/

如果完全删除是不可取的,然后隐藏或以其他方式表明其处于非活动状态是可能的...我想在这种情况下也指向你Taveer的答案。你需要跟踪哪些行是活动/不活动的。如果您需要更多详情,请点评。

+0

通常使用'e'或'事件',因为这是经常使用的浏览器用于事件信号 – vol7ron