您可以通過使用一個div並顯示包裹<ice:panelGroup>
實現它/通過一個javascript檢查隱藏:
<script type="text/javascript">
var arrInputs = new Array(9);
function checkInputsFulfilled(value, index) {
arrInputs[index] = (value == "");
var filled = true;
for(var i = 0; i < arrInputs.length; i++) {
if (arrInputs[i]) {
filled = false;
break;
}
}
document.getElementById("myDiv").style.display = filled ? "block" : "none";
}
</script>
<ice:panelGroup binding="#{myPage.boxes0to9}">
<!-- your 9 inputs (or more) here, I'll write 1 as a sample -->
<h:inputText value="#{myBean.attribute1}" onchange="checkInputsFulfilled(this.value, 0);" />
</ice:panelGroup>
<div id="myDiv" style="display:none">
<ice:panelGroup binding="#{myPage.boxes10to19}">
</ice:panelGroup>
</div>
您也可以使用AJAX支持和渲染一個包裝第二JSF組件它<ice:panelGroup>
但是,如果您只是清空其中一個開始輸入並且該組應該隱藏,這會產生很大的影響。當然,這最後一個行爲是在javascript中控制的,如果你不想只修改它:)。
什麼是您正在使用的JSF和IceFaces版本? –
@LuiggiMendoza IceFaces 1.8和JSF 2.0 :) – Nicole