如何在PrimeFaces中使用JavaScript调用Bean方法
如何在PrimeFaces中使用JavaScript调用Bean方法?如何在PrimeFaces中使用JavaScript调用Bean方法
我有以下的菜单项:
<p:menuitem id="toggleAlarms" icon="ui-icon-cancel" rendered="#{navigationBean.admin}" value="Cancel Alert" update=":alarmMessages" action="#{alarmsBean.toggleAlertOff()}"/>
当我点击UI中的方法,该项目被调用。
但是,当我有这样的元素:
<p:messages id="alarmMessages">
<script>
jQuery('#alarmMessages').effect("pulsate", {times:5}, 1000);
jQuery('#alarmMessages').show();
$('#alarmMessages').click(function() {
jQuery('#toggleAlarms').click();
alert('fool');
})
</script>
</p:messages>
如果我点击邮件上的UI对象,我可以看到它傻瓜警报消息。
但是,我从来没有看到toggleAlarms.click()方法调用alarmsBean.toggleAlertOff()调用。
我做错了什么?
#{navigationBean.admin}
返回false
的任何机会?
因为如果这样你就不会成为能够找到它在DOM ...(也许更好地利用style=display:none
)
也,你的选择可能是错误的,如果菜单项是内部形状尝试jQuery('#someFormID\\:toggleAlarms').click();
做查看源代码您的网页上看到菜单项的权限ID
终于尝试的commandButton相同,而不是(不知道菜单项将响应按预期.click()
)
更新
,以检查你的jQuery选择是不是alert('fool');
嗨,谢谢你的回应。到目前为止,管理员总是如此。 – jrobertsz66 2012-07-23 20:19:28
更新了一下我的答案... – Daniel 2012-07-23 20:23:23
好吧,它根据信息修改后,就像一个魅力。你提供。非常感谢!这是我做的: 修改的菜单项:
这: jQuery的( '#alarmMessages')效应( “跳动”,{倍: 5},1000); jQuery('#alarmMessages')。show(); $('#alarmMessages')。click(function(){ jQuery('#menuF \\:toggleAlarms')。click(); }) – jrobertsz66 2012-07-23 21:35:01
使用权
alert($('#toggleAlarms').length)
当你“查看源文件”所呈现的页面上,什么是邮件组件的ID?是“toggleAlarms”还是其他东西,例如“形式:toggleAlarms”?有可能您没有传递正确的组件ID。 – BestPractices 2012-07-23 20:30:50