У меня проблема с динамическим применением CSS в компоненте с использованием JavaScript или jQuery. Я попробовал некоторые вещи, как показано ниже.
Это мой компонент, который я пытаюсь применить CSS
<p:inputText id="txtUser" styleClass="form-control"
value="#{registerMB.user.name}"
disabled="#{registerMB.disabledUserDetailsBoolean}"
requiredMessage="Por favor insira um Utilizador(NAME)."
onblur="value=value.toUpperCase()">
<p:ajax event="blur" listener="#{registerMB.showUserDetails()}"
update="frmRegisterUser:accordion:results frmRegisterUser:panelButton button" />
</p:inputText>
Это компонент, который я пытаюсь поймать сообщение:
<p:messages id="messages" autoUpdate="true" showDetail="false" closable="true" />
В браузере после компиляции HTML у меня есть этот элемент
<div class="ui-messages-error ui-corner-all"><a href="#" class="ui-messages-close" onclick="$(this).parent().slideUp();return false;"><span class="ui-icon ui-icon-close"></span></a><span class="ui-messages-error-icon"></span>
<ul>
<li><span class="ui-messages-error-summary">Nome do Solicitante inválido!</span></li>
</ul>
</div>
Я использую CSS ui-state-error для компонента с идентификатором txtUser , когда на экране появляется сообщение Nome do Solicitante inválido! экран. Я попробовал этот код, но у меня не было успеха. Следуйте за моим JQuery:
function checkName() {
var txt = $(".ui-messages-error-summary" )[0].innerText;
$(txt.replace(/^[ \t]+/gm, ''));
if($(txt).is(':contains("Nome do Solicitante inválido!")')){
$('#frmRegisterUser:accordion:txtUser').addClass('ui-state-error')
}
}
Спасибо за ваше время.