私はJSF2.0を使用していますが、フォームは次のとおりです。
<h:form id="fff" onsubmit="reloadMap();">
<h:selectOneMenu value="#{rentCarPoolBean.state}">
<f:selectItems value="#{rentCarPoolBean.stateList}" id="stateList" />
<f:ajax event="change" render="cities stateSelected" onevent="showAlert"/>
</h:selectOneMenu>
<h:selectOneMenu id="cities" value="#{rentCarPoolBean.city}">
<f:selectItems value="#{rentCarPoolBean.cityList}"/>
</h:selectOneMenu>
<h:outputText value="#{rentCarPoolBean.state}" id="stateSelected" />
</h:form>
そしてjavascript関数:
<script type="text/javascript">
function showAlert(data){
if (data.status == "complete")
alert(document.getElementById("stateSelected"));
}
</script>
上記のコードは、最初のドロップダウンから状態を選択することで、ajax呼び出しを行い、「cities」ドロップダウンと「stateSelected」outputTextをレンダリングします。
また、showAlert()javascript関数を呼び出します。
私がやりたいのは、すべてのデータが返され、ドロップダウンとoutputTextの両方がレンダリングされた後でjavascript関数を呼び出すことです。
ただし、現在、要素がレンダリングされてアラートが表示される前にjavascript関数が呼び出されますnull
。最終的にjavascript関数を実行するにはどうすればよいですか?