java - 如何防止 primefaces ajax 调用禁用我的脚本
问题描述
我的 Js 代码onclick
在 a 内的组件类上设置了一个selectOneMenu
,每当我<p:ajax>
在 selectOneMenu 中使用时,脚本只运行一次。如何防止?
<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>
解决方案
将您的脚本放在一个函数中,并从 oncomplete 中调用它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"/>
推荐阅读
- lisp - 是否存在插槽不会被初始化为其 initform 的情况?
- ruby-on-rails - 无法运行资产:在heroku上预编译
- c++ - 将输入值存储到数组中,同时读取它们,c++
- swift - 如何在 Swift 4.2 中捕获字符串中的单个字符并将它们放入数组中?
- python - 使用过滤和递归的随机顺序生成器
- spring - 如何在不使用 Spring Security 中的 xml 的情况下将拦截器与 URL 匹配?
- swagger - 在 JHipster 服务器和微服务中提供 Swagger-UI
- javascript - 带逗号和两位小数的数值格式
- javascript - 嵌套列表权重总和 javascript
- c++ - 从方法修改指针指针字段