ทุกอย่างเป็นไปได้ก็ต่อเมื่อมีเวลาค้นคว้ามากพอ :)
สิ่งที่ฉันต้องทำก็เหมือนกับการมีคนที่ฉันทำซ้ำใน ui: ทำซ้ำและแสดงชื่อและช่องอื่น ๆ ในอินพุต แต่หนึ่งในฟิลด์คือ singleSelect - A และขึ้นอยู่กับค่านั้นอัปเดตอินพุตอื่น - B. แม้ ui: repeat ไม่มี id ที่ฉันใส่และปรากฏในโครงสร้าง DOM
<ui:repeat id="peopleRepeat"
value="#{myBean.people}"
var="person" varStatus="status">
กว่ารหัสใน html มีดังนี้:
myForm:peopleRepeat:0:personType
myForm:peopleRepeat:1:personType
ในมุมมองฉันมีวิธีการหนึ่งเช่น:
<p:ajax event="change"
listener="#{myBean.onPersonTypeChange(person, status.index)}"/>
และการใช้งานอยู่ในถั่วเช่น:
String componentId = "myForm:peopleRepeat" + idx + "personType";
PrimeFaces.current().ajax().update(componentId);
ด้วยวิธีนี้ฉันจึงอัปเดตองค์ประกอบจาก bean โดยไม่มีปัญหา PF เวอร์ชัน 6.2.2
ขอให้โชคดีและมีความสุขในการเขียนโค้ด :)