我的Js代码在onclick
内的组件类上设置了selectOneMenu
,每当我在selectOneMenu中使用<p:ajax>
时,脚本仅运行一次。
如何预防呢?
<p:selectOneMenu id="GaStructNode_listForm_GaStruct"
value="#{gaStructNodeController.selectedGaStruct}"
style="margin-bottom: 10px;">
<f:selectItem itemLabel="#{bundle.defautlItem}"/>
<f:selectItems value="#{gaStructNodeController.findAllGaStructs()}" var="gs"
itemLabel="#{gs.name}" itemValue="#{gs}"/>
<p:ajax event="itemSelect" update="@form :GaStructNode_listForm :GaStructNode_editForm :GaStructNode_picklist_form"/>
</p:selectOneMenu>
<script type="text/javascript">
$('.ui-selectonemenu-item-group').click(function () {
alert("Handler for .click() called.");
});
</script>
答案 0 :(得分:1)
将您的脚本放入函数中,并以p:ajax
<script type="text/javascript">
$('.ui-selectonemenu-item-group').click(function () {
alert("Handler for .click() called.");
});
function m() {
$('.ui-selectonemenu-item-group').click(function () {
alert("Handler for .click() called.");
});
}
</script>
并更改您的ajax:
<p:ajax oncomplete="m()" event="itemSelect" update="@form :GaStructNode_listForm :GaStructNode_editForm :GaStructNode_picklist_form"/>