PrimeFaces 选择器 (PFS) 使用属性包含选择器 [name*=”value”]
Posted
技术标签:
【中文标题】PrimeFaces 选择器 (PFS) 使用属性包含选择器 [name*=”value”]【英文标题】:PrimeFaces Selectors (PFS) using Attribute Contains Selector [name*=”value”] 【发布时间】:2016-11-30 00:15:06 【问题描述】:我正在尝试使用PFS
为processing/updating
选择元素。如果我使用它,它可以正常工作。 styleClass
用于选择。
<p:commandButton actionListener="#testBean.testAction" value="Submit test"
process="@this @(.processStyleClass)"
/>
但是当使用属性包含选择器时我无法让它工作(这里使用 maxlength 作为示例):
<p:inputText value="#testBean.test"
maxlength="4"/>
<p:commandButton actionListener="#testBean.testAction"
value="Submit test"
process="@this @([maxlength*='4'])"/>
但是当我直接在控制台中使用选择器时,我可以选择输入字段。
您有任何按包含PFS
的属性进行选择的工作示例吗?
亲切的问候, 何塞
Primefaces 5.1,Mojarra 2.2.7
【问题讨论】:
【参考方案1】:在属性选择器中使用引号会导致问题,因为它会按如下方式呈现命令按钮(省略不相关部分):
<button id="mainForm:j_idt21"
onclick="PrimeFaces.ab(s:'mainForm:j_idt21',p:'mainForm:j_idt21 @([maxlength*='4'])');return false;"
type="submit">Submit test
</button>
删除选择器中的单引号,以便为进程和更新属性提供正确的渲染和工作选择器:
<p:inputText value="#testBean.test"
maxlength="4"/>
<p:commandButton actionListener="#testBean.testAction"
value="Submit test"
process="@this @([maxlength*=4])"/>
【讨论】:
以上是关于PrimeFaces 选择器 (PFS) 使用属性包含选择器 [name*=”value”]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用jQuery或jqPlot自定义PrimeFaces条形图属性