<h:selectOneMenu id="selCodigoEstado" 
value="#{vendasBean.codigoEstado}" required="true"> 
<f:selectItems value="#{vendasBean.estadosItems}" /> 
<a4j:support event="onchange" 
action="#{vendasBean.popularListaCidades}" 
ajaxSingle="true" reRender="selCodigoCidade"/> 
</h:selectOneMenu> <h:selectOneMenu id="selCodigoCidade">
<f:selectItems value="#{vendasBean.cidadeItems}" /> 
</selectOneMenu>

解决方案 »

  1.   

    谢谢两位!to wu07: 
     很想问问你的开发环境?
     我用的是Eclipse WTP2.0 + MyFaces1.2 + Tomcat6.0
     在Eclipse WTP2.0中不能同时用两种不同组JSF控件。如同时装SUN RI和MyFaces1.2就会出Errorto yztommyhc:
     因内容不是很多,我也想用JS来完成联动,但是不知在JSF如何调用JSF控件的名称?
     如
    <SCRIPT Language=javaScript>
      function select_combo(obj, obj1) {
       alert(obj.options[0].value);  //对
       alert(obj1.options[0].value); //不出结果!!!
      }
    </SCRIPT>
    <h:selectOneMenu id="category" ... onchange="select_combo(this, 'form1:dept')"
    </h:selectOneMenu>
    <h:selectOneMenu id="dept" ...>
    </h:selectOneMenu>onchange调用JS函数时,联动对象的控件名称怎么写?
    我自己用了很多方法都取不到。
     
      

  2.   

    我觉得思路是这样的:
    把需要二级连动的数据都传到页面上,比如是一个江苏省所有的县,当然第一个是江苏省所有的市.
    当你选择第一个,选中某个市以后,会触发onchange事件,就象你写的那样.
    然后在这个触发的函数里面,你先判断刚才选择的市,然后根据县和市的对应规则,来提供第2个selectbox的内容.