【发布时间】:2013-12-17 20:41:36
【问题描述】:
我们可以使用rich:clientId()函数通过静态ID获取元素,如下所示
document.getElementById('#{rich:clientId(JSF_ID)}').click();
但是,我需要使用var + "_ID" 形式的动态ID,其中var 可以是employee、student 等,从而导致employee_ID、student_ID 作为实际ID。
我尝试如下:
dynamicID = var + '_ID';
document.getElementById('#{rich:clientId(dynamicID)}').click();
但是,它没有用。我怎样才能做到这一点?
【问题讨论】:
-
rich:clientId 由服务器评估。如果你检查生成的 js 代码,你会看到。
-
请指定您试图以错误方式实现的要求。正如 MrD 的回答和 johny 的评论中所述,没有办法在客户端运行与 JSF 相关的工件。因此,您要么必须建立一种无需借助服务器端查找器即可查找组件的方法,要么在服务器上附加所有适当的查找器,以便所有 JavaSscipt 函数都已经在处理适当的组件 ID。
-
@BalusC 你假设 dynamicID = 'anyText' + '_ID';有什么解决办法吗?
标签: javascript jsf jsf-2 richfaces el