Вид:Сброс значения поля из другого поля Primefaces
<p:selectOneMenu id="examId" value="#{examrequisitionsController.selected.examId}" required="true" requiredMessage="#{bundle.CreateExamrequisitionsRequiredMessage_examId}">
<f:selectItem itemLabel="Select One" itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{examsController.itemsAvailableSelectOne}" var="examIdItem" itemValue="#{examIdItem}"/>
<p:ajax listener="#{examrequisitionsController.getExamPrice()}" update="price" />
</p:selectOneMenu>
<p:inputText id="price" widgetVar="widgetPrice" value="#{examrequisitionsController.selected.price}" title="#{bundle.CreateExamrequisitionsTitle_price}" required="true" requiredMessage="#{bundle.CreateExamrequisitionsRequiredMessage_price}" readonly="#{facesContext.currentPhaseId.ordinal eq 6}" maxlength="7">
<f:validator validatorId="decimalValidator" />
</p:inputText>
Контроллер:
public void getExamPrice() {
EntityManager em = Persistence.createEntityManagerFactory("SystemCardiologyReportsPU").createEntityManager();
Exams exam = (Exams) em.createNamedQuery("Exams.findById").setParameter("id", this.selected.getExamId().getId()).getSingleResult();
this.selected.setPrice(exam == null ? null : exam.getPrice());
}
JavaScript:
$(document).on('change', '#ExamrequisitionsCreateForm\\:examId_input', function() {
if (this.value === '')
jQuery('#ExamrequisitionsCreateForm\\:price').val('');
});
Я хочу сделать что-то, чтобы сбросить значение входа " цена ", если опция" Выбрать один "выбрана в поле examId.
Эта функция JS работает, но после того, как функция JS сбросит значение поля, тег ajax автоматически автоматически обновится до последнего действительного значения.
Было бы проще сделать это в контроллере, но ajax не будет в контроллере, когда я выберу первый вариант, вот почему я пытаюсь с JS.
Или любая функция, которая отключает «Выбрать один» после того, как пользователь выберет любую другую опцию с помощью JS.
Я пытался что-то вроде:
$('select [value=""]').attr('style', 'display:none');
Любые обновления по этой проблеме? –