javascript - primefaces 命令按钮使用 jquery 更新数据表内

标签 javascript jquery jsf primefaces

我想用jquery向数据表行内的commandButtons添加一个点击函数,这个按钮显示一个对话框,我想用javascript构建内容。但 JavaScript 中定义的函数甚至没有被调用。

我有这个:

<p:datatable id="tbl1">
<p:commandButton id="button1" onclick="dlg.show()">
</p:commandButton>
</p:datatable>

在我的 JavaScript 中

$("#form:tbl1:0:button1").click(function(){
 //...some js functionality to show on the dialog
});

如有任何建议,我们将不胜感激

祝大家有美好的一天

最佳答案

jQuery 使用 CSS selector在 HTML DOM 树中选择元素的语法。冒号 : 是 CSS 选择器语法中的特殊字符,表示伪选择器的开头,例如 :hover:active:禁用:first-child等。但是,您在这里将其用作元素ID的一部分,而不是用作伪选择器。在这种情况下,您需要使用(双)反斜杠转义冒号。

$("#form\\:tbl1\\:0\\:button1")

或者,使用纯 JS document.getElementById() 并将其传递给 jQuery,它只接受纯元素 ID,而不是 CSS 选择器,因此您不需要转义它:

$(document.getElementById("form:tbl1:0:button1"))

或者更好的是,给它一个样式类:

<p:commandButton ... styleClass="some-button" />

这样你就可以做到

$(".some-button")

并且能够在其他按钮上重用它。

关于javascript - primefaces 命令按钮使用 jquery 更新数据表内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19967355/

相关文章:

javascript - 为什么 JS 允许以数组为键的属性访问?

c# - 生成的表与 rowspan 导致额外的单元格

javascript - 将 php 数组呈现给客户端时出现 Jquery DataTable 错误

java - 在 Java Server Faces 框架中使用 Spry

java - 如何使用jsf获取Spring Security中当前登录的用户名?

javascript - 旋转/平移和恢复后在 Canvas 上定位

javascript - 在循环中单击描述时,knockout.js 不会触发单击事件

javascript - Jquery - 限制元素的插入

javascript - 带有 ken burns 效果幻灯片的颜色叠加

jsf - primefaces-3.3.1 生日日历