【发布时间】:2015-11-04 03:16:30
【问题描述】:
我想在这样的primefaces上使用validateLongRange将inputText放入cellEditor中:
<p:contextMenu for="dataTableAvaliacao" widgetVar="cMenu">
<p:menuitem value="Edit Cell" icon="ui-icon-search"
onclick="PF('cellNota').showCellEditor();return false;" />
<p:menuitem value="Hide Menu" icon="ui-icon-close"
onclick="PF('cMenu').hide()" />
</p:contextMenu>
<p:dataTable
id="dataTableAvaliacao" var="aluno"
value="#{alunoAvaliacaoMB.alunos}"
editable="true" editMode="cell"
widgetVar="cellNota">
<p:columns id="coluna-nota"
value="#{alunoAvaliacaoMB.colunasAvaliacoes}" var="avaliacao"
columnIndexVar="colIndex" >
<p:cellEditor>
<f:facet name="output">
<h:outputText
value="#{aluno.getNota(avaliacao.property).vlNotaString}" />
</f:facet>
<f:facet name="input">
<p:inputText id="inputNota"
value="#{aluno.getNota(avaliacao.property).vlNotaString}">
<f:validateLongRange maximum="10" minimum="-10" />
</p:inputText>
</f:facet>
</p:cellEditor>
</p:columns>
</p:dataTable>
问题是发生验证错误时,primefaces正在绘制inputText和cellEditor,外观是这样的:
如何从 gridcell 中删除 ui-state-error? 我曾尝试使用 jQuery:$('.ui-state-error').removeClass('ui-state-error') 但我不知道该放在哪里。
我正在使用 sentinel-layout。 http://primefaces.org/layouts/sentinel
对不起,图片和代码中的葡萄牙语单词。
更新
我无法更改 CSS(显然)因为 inputText 和 cellgrid 都使用由 primefaces 生成的相同样式。
下面两张图片显示了这一点。
首先是inputText的样式
gridcell的第二种样式
如何在不影响两个组件的情况下更改 CSS? 我仍在寻找一种使用 jQuery 删除类的方法。我可以使用 jQuery 删除样式。
【问题讨论】:
-
@Tiny 不起作用,因为该样式是动态添加的(我相信在模糊事件中),它没有加载到页面的开头。
标签: jquery jsf jsf-2 primefaces