Мне нужна ваша помощь в включении/отключении определенного элемента в компоненте selectManyCheckbox
на основе алаксирующего вызова.Как включить/отключить определенный элемент в selectManyCheckbox на ajax keyUp
При загрузке страницы, я обжиг метод ниже, чтобы заполнить selectManyCheckbox
элементы в виде:
@PostConstruct
public void init() throws SQLException {
this.hrCertificatesList.add(new hrCertificate(("Employment"), "CE", false));
this.hrCertificatesList.add(new hrCertificate(("Loan"), "LC", false));
}
А вот JSF код:
<p:inputText id="selectedEmployee" value="#{HRRequest.selectedEmployeeCode}">
<p:ajax event="keyup" update="employeeName" listener="#{HRRequest.getEmployeeName}" />
</p:inputText>
<h:outputText id="employeeName" value="#{HRRequest.selectedEmployeeName}" />
<p:selectManyCheckbox id="hrCertificates" value="#{HRRequest.selectedHRCertificates}">
<f:selectItems value="#{HRRequest.hrCertificatesList}" var="hrCertificate"
itemLabel="#{hrCertificate.hrCertificateName}"
itemValue="#{hrCertificate.hrCertificateCode}" itemDisabled="#{hrCertificate.hrBooleanCertificate}"/>
</p:selectManyCheckbox>
После загрузки страницы, все флажки включены и когда пользователь вводит код employeeCode в inputText
, будет запущен ajax для вызова метода для получения имени employee и проверки наличия кредита или нет, если у него есть кредит, тогда флажок должен быть включен, в противном случае отключен ,
Чтобы подвести итог моей проблеме, я хочу, чтобы, когда значение переменной temp равно yes, тогда мне нужно отключить только чекбокс кредита, а другой пункт Занятость должна оставаться включенной, так как я могу это сделать?
Код боб:
public String getEmployeeName() throws SQLException {
if (temp.equals("Yes"))
{
//How to enable and disable the Loan checkbox only and to update the form view
RequestContext.getCurrentInstance().update(":HRform:hrCertificates");
}
Так что вы можете, пожалуйста, помогите.
Нет я редактировал его – 99maas
@BalusC я редактировал темы, чтобы быть более ясными и объясняющий код больше, так что пожалуйста, вы можете направлять и помогать – 99maas
@BalusC hrBooleanCertificate I определил его в классе hrCertificate. HrBooleanCertificate ссылается на логическое значение false, которое находится в методе init(), где в начале все флажки должны быть включены, но тогда я не знаю, что делать дальше, чтобы отключить элемент Loan – 99maas