【发布时间】:2014-11-07 14:42:39
【问题描述】:
我想在jsf中编写一个复合组件,并通过jquery添加一些功能。
小例子: 我的复合组件定义如下所示:
[...]
<t:inputText
id="#{cc.attrs.id}"
value="#{cc.attrs.value}"
required="false"/>
<h:panelGroup rendered="#{cc.attrs.required}">
<script type="text/javascript">
jQuery(document.getElementById("#{cc.attrs.id}")).addClass("mandatory")
</script>
</h:panelGroup>
[...]
会产生这样的结果:
<input name="content_form:name:name" id="content_form:name:name" type="text" value="">
<script type="text/javascript">
jQuery(document.getElementById("name")).addClass("mandatory")
</script>
如您所见,jquery 获取了错误的 id。发生这种情况是因为 #{cc.attrs.id} 的评估似乎不会发生在不同的点上。
如何获得可预测的 id 或者是否有解决方法?
提前致谢。
【问题讨论】:
标签: jquery jsf composite-component