在我的JSF应用程序中,我必须从employee表中删除包含其他详细信息的行。我能够删除视图中的行,但我想只删除最后一行的删除确认对话框。
我已经使用JavaScript实现了它,但它会弹出每次删除。
现在,我只希望它用于最后一行,我可以检查它是否是通过托管bean的最后一行,但是如何在视图中实现它?
答案 0 :(得分:0)
如果您在视图中显示该表,则可以使用js
检查当您单击删除按钮或删除时表中是否只有一行。
要做到这一点,你需要你的html元素具有有意义的名称,你可以使用视图中的id
属性在jsf中实现这一点。然后,您可以找到表$(#table-id)
并查看它有多少行。
答案 1 :(得分:0)
您可以使用HTML DOM <table>
元素的rows
属性将所有行作为数组获取,您可以在该数组上调用length
属性以了解长度。
所以,总而言之,这应该做到:
<h:form id="form">
<h:dataTable id="table" ...>
<h:column>
<h:commandButton value="delete" ...
onclick="if (document.getElementById('form:table').rows.length == 1) return confirm('Are you sure?')" />
答案 2 :(得分:0)
。
if(table.size == 1){
popup = true;
}
编写另一个在弹出“确定”按钮单击时调用的操作。