使用javascript隐藏Panel Grid行

时间:2013-05-19 18:46:33

标签: javascript jsf

由于我无法为<h:panelGrid>表中的行ID定义已知计数变量,有没有办法通过javascript隐藏<tr>

我需要在document.getElementById("rowId")按钮属性上执行onclick之类的操作,但每行都有一个按钮。每个按钮都必须知道它的行ID。

3 个答案:

答案 0 :(得分:0)

ofCourse如果你想隐藏一个tr

HTML:

<button onclick="hideRow(this)">

JS:

function hideRow(element){ element.parentNode.parentNode.style.display='none';}

答案 1 :(得分:0)

您可以像这样使用rowClasses:

<h:panelGrid rowClasses="row1 row2 row3 row4...">
    <h:outputText value="row1" />
    <h:outputText value="row2" />
    <h:outputText value="row3" />
    <h:outputText value="row4" />
</h:panelGrid>

它将呈现如下:

<table>
    <tr class="row1"><td>row1</td></tr>
    <tr class="row2"><td>row2</td></tr>
    <tr class="row3"><td>row3</td></tr>
    <tr class="row4"><td>row4</td></tr>
</table>

现在,您可以使用jQuery轻松访问它们,例如$("table tr.row1").hide();并执行任何操作。

你也可以像这样访问:$("table tr:nth-child(4)").hide();

答案 2 :(得分:0)

HTML:

<button class="button-class">

JQuery的:

$(document).ready(function(){
$('.button-class').each(function(){
$(this).closest('tr').hide();
});
});