나에게 이해가되지 않는 문제가 있습니다. 간단한 Ajax를 사용하여 selectionChange-Events를 발생시키는 목록 상자가 있습니다. 아이디어는 편집 버튼이 목록의 항목이 선택 될 때까지 활성화되지 않는다는 것입니다. 그래서 다음 코드를 만들었습니다.버튼이 아약스로 활성화/비활성화되었을 때 액션이 트리거되지 않음
<h:form>
<h:selectManyListbox value="#{bean.selectedIds}">
<f:selectItems value="#{bean.listOfItems}" />
<f:ajax render="edit"
listener="#{bean.selectionChanged}" />
</h:selectManyListbox>
<br />
<h:commandButton id="add" value="#{msgs.add}"
action="#{bean.addNew}" />
<h:commandButton id="edit" value="#{msgs.edit}"
disabled="#{bean.editButtonDisabled}"
action="#{bean.edit}" />
</h:form>
버튼이 활성화되고 내가 원하는대로 사용할 수 있지만 밝혀, 어떤 조치를 트리거 편집 버튼 밤은은 (나는 빈과 편집 -에 추가 - 편집 - 방법에 약간의 SYSOUT를 추가 메서드가 호출되지 않습니다) ... 대신 HTML이 변경됩니다. 위의 코드는 간단한 div에 중첩되어 있습니다. 편집을 클릭하면 전체 양식이 해당 div 외부에 있습니다.
추가 단추에이 아약스 동작을 추가 할 때 편집 단추에서 disabled-attribute를 제거하면 모든 것이 작동합니다.
나는 이미 BalusC 대답을 here으로 보았지만 그 목록과 관련된 실수는 찾을 수 없었다. 중첩 된 양식 등 ... 템플릿이있는 단순한 페이지.
저는 JBoss 7.1.Final에서 Mojarra 2.1.2를 사용하고 있습니다.
도움을 주시면 감사하겠습니다. 감사합니다
commandButton 동작이 HTML 양식 요소에 첨부되므로 전체 양식을 다시 렌더링하지 않아도됩니까? –
나는 그것을 시도했지만 도움이되지 않았다. 게다가, 왜 양식을 렌더링해야합니까? 나는 이것으로 생성 된 자바 스크립트가 DOM 트리의 버튼 만 바꿀 것이라고 예상했다. – lostiniceland
이것은 단지 추측이었습니다. 나는 무력화/활성화가 어떻게 실현되는지 잘 모르겠습니다. 렌더링을 시도 했습니까? 예 : 두 개의 버튼이 조건부로 렌더링 되었습니까? –