如何防止 primefaces ajax 调用禁用我的脚本
How to prevent primefaces ajax calls from disabling my scripts
我的 Js 代码在 selectOneMenu
内的组件 class 上设置了 onclick
,每当我在 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>
将您的脚本放入一个函数中,并从 p:ajax
的 oncomplete 调用它
<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"/>
我的 Js 代码在 selectOneMenu
内的组件 class 上设置了 onclick
,每当我在 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>
将您的脚本放入一个函数中,并从 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"/>