我正在使用JSF + RF3.3的JQuery 我的要求是,當用戶單擊YES單選按鈕時,將顯示幾個組件。如果他點擊NO,那麼這些組件將被隱藏。 在頁面加載最初顯示這些組件。在Radio上隱藏RichFaces組件使用JQuery在JSF中單擊
儘管使用Jquery,我能夠提取單選按鈕的值,但我無法隱藏/顯示component.Morever組件是ListShuttle。我不能夠選擇在ListShuttle.The任何組件選擇本身沒有工作..
的代碼片段是: -
<rich:panel>
<h:selectOneRadio id="Radio" border="0" label="Name" value="#{bean.functionName}" required="true" styleClass="intro" onchange="showNameList()" >
<f:selectItem id="All" itemValue="All" itemLabel="All" />
<f:selectItem id="region" itemValue="Region" itemLabel="Region" />
</h:selectOneRadio>
</rich:panel>
這將顯示/隱藏在電臺被點擊的組件: -
<div id="alll">
<h:outputLabel value="RegionList *" id="region" styleClass="intro" escape="false" />
<h:outputLabel value=" : " styleClass="intro" id="colonLabel" escape="false" />
<h:panelGroup>
<rich:listShuttle id="calListShuttle" sourceValue="#{Bean.SourceList}" targetValue="#{Bean.targetList}" var="itemsRegion" fastOrderControlsVisible="false" orderControlsVisible="false" targetRequired="true" >
<rich:column >
<h:outputLabel value="#{itemsRegion}"/>
</rich:column >
</rich:listShuttle>
</div>
jQuery代碼是
<script>
function showRegionList()
{
jQuery(document).ready(function()
{
var $ = jQuery;
$("input:radio[@name='Create\\:Radio']").click(function() {
var radioValue=$("input[name='Create\\:Radio']:checked").val();
if(radioValue=="All")
{
$("#alll").hide("slow");
}
else
{
$("#alll").show("slow");
}
});
});
}
</script>
你試過在螢火蟲或你最喜歡的js調試器下進行調試嗎?隱藏/顯示代碼看起來很好,如果達到,應該可以工作。我在showRegionList下的jQuery.ready有點遺憾,但我認爲這部分是做它應該做的。 – mrembisz
其實我從來沒有使用過螢火蟲或js調試器...從現在開始,我一定會嘗試使用它... – AngelsandDemons