У меня есть страница JSF, где пользователи могут ввести свой автомобиль в мою базу данных.Форма имеет три поля ввода:
- Производитель
- Модель
- Регистрация
Я использую PrimeFaces 3.0.M2 и обаПоля Manufacturer
и Model
являются полями ввода для автозаполнения:
<p:autoComplete id="manufacturer"
minQueryLength="3"
completeMethod="#{carController.completeManufacturer}"
forceSelection="true"
value="#{carController.manufacturer}" />
Поле для модели выглядит одинаково, с немного отличающимися значениями.
Управляемый компонент выглядит следующим образом ((сокращенно):
private String manufacturer;
private String model;
private String registration;
public List<String> completeManufacturer(String query) {
List<String> ms = new ArrayList<String>();
for (Manufacturer m : manufacturerFacade.findAllByName(query)) {
ms.add(m.getLongName());
}
return ms;
}
public List<String> completeModel(String query) {
List<String> ms = new ArrayList<String>();
for (Model m :
modelFacade.findAllByManufacturer(manufacturerFacade.findByName(manufacturer))) {
ms.add(m.getShortName());
}
return ms;
}
Проблема заключается в заполнении поля model
.Мне нужно это поле, чтобы отображать только результаты автозаполнения на основе выбранного производителя, но строка manufacturer
в управляемом компоненте не заполняется, пока не будет отправлена вся форма, поэтому я не могу искать модели, связанные с выбранным производителем.
Как бы я отправил только поле manufacturer
без отправки всей формы, чтобы я мог посмотреть модели выбранного производителя?
Спасибо!