2013-12-09 3 views
0

ajax와 함께 selectmanymenu 태그를 사용하고 있지만 listner가 호출되지 않습니다. 동일한 코드가 event = "change"없이 selectonemenu에서 작동했습니다. 내가 잘못selectmanymenu가 작동하지 않는 ajax

를하고있는 중이 야 경우 여기를

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:h="http://java.sun.com/jsf/html"> 

<h:head> 
</h:head> 

    <h:body> 
    <h:form> 
     <h:selectManyMenu id="dropDownValue" 
      value="#{loginBean.dropDownValue}" style="height:100px; width:100px;"> 
      <f:selectItem itemValue="****select***" /> 
      <f:selectItems value="#{loginBean.testDropDown}" /> 
      <f:ajax render="testDropDownTwo" 
       listener="#{loginBean.changeDropDownOne}" event="change" /> 
     </h:selectManyMenu> 

     <h:selectManyMenu id="testDropDownTwo" 
      value="#{loginBean.dropDownTwoValue}" 
      style="height:100px; width:100px;"> 
      <f:selectItem itemValue="****select***" /> 
      <f:selectItems value="#{loginBean.testDropDownTwo}" /> 
     </h:selectManyMenu> 
    </h:form> 

    </h:body> 
</html> 

답변

0

귀하의 코드는 나를 위해 아무 문제없는 코드가 저를 제안 해주십시오, 당신은 당신의 백업 빈을 제공해야한다.

그러나, 나는 코드를 시도하면이를 확인할 수 있습니다

콩을 백업 (페이지는 정확히 당신과 동일) :

private List<String> dropDownValue = new ArrayList<>(); 
private List<String> dropDownTwoValue = new ArrayList<>(); 
private List<String> testDropDown = new ArrayList<>(); 
private List<String> testDropDownTwo = new ArrayList<>(); 

@PostConstruct 
public void init() { 
    testDropDown.add("a"); 
    testDropDown.add("b"); 
    testDropDown.add("c"); 
} 

public void changeDropDownOne() { 
    testDropDownTwo.clear(); 
    for(String str:dropDownValue) 
     for(int i=0;i<3;i++) 
    testDropDownTwo.add(str+i); 
} 
//simply getters and setters below 
관련 문제