我下拉列表中的值是从数据库中读取的,如何在选择其中一项时根据这项的内容改变页面下面的内容?<select Id="lessons"  name="lesson">
          <s:iterator value="getLesson" >
          <option value="<s:property value="lessonid"/>">
          <s:property value="lessonname"/>
          </option></s:iterator>
          </select>
         如果是在action中定义一个select name属性,那么它的option中的值又是怎么得到的?

解决方案 »

  1.   

    struts2的下拉列表框直接用s:select就行了吧。
      

  2.   

    在下拉列表框的onchange事件中使用ajax 异步提交 
      

  3.   

    跟你说一下我们这个项目做的方法,就是在在下拉列表做了一个事件,然后在js里面写了一个方法,通过js来接受参数,再有js向后台发送参数,基本思路就是这样的
      

  4.   

    没有用过ajax,对这个也不是很了解
      

  5.   


    如果实在没用过的话,我觉得你可以使用onchange事件,然后跳转到servlet中做了处理之后在跳转回你需要的页面!!
      

  6.   

    ajax就是不点击提交按钮,通过JavaScript向action发送请求,在不刷新页面的情况下接受返回的结果,并显示很简单的,你可以找点例子看看。很实用
      

  7.   


    哇。。地圤  牛叉!!
    ajax是不是向action发送请求我就不是很清楚了,我觉得ajax是通过JS调用java代码。将取得的结果返回,并且通过js来对页面进行修改!!
    一般用JQurery来做,不过我还是喜欢用DWR  都可以试试 
      

  8.   

    通过submit按钮提交的话就要把整个表单数据都发送到action,然后再返回到当前页面,如果你还想记录原来选择的一些初始值的话就得传很多参数灰常麻烦~
      

  9.   


    嘿嘿。。低调低调。。地卜小菜~~~
    dwr也是ajax的一种实现形式~确实也比较方便。各有优势~
      

  10.   

    谢谢各位咯,我用过一点DWR,现在先试试吧
      

  11.   


    DWR应该是能完成你的需求的
      

  12.   

    <s:select name="gender" list="#{'0':'男','1':'女'}" listKey="key" listValue="value">
     <s:iterator value="#genderMap" id="">  
                                     <option value="<s:property value='#key'/>" <s:if test="%{#key==gender}">selected</s:if>>    
                                         <s:property value='#value'/>    
                                     </option>    
                                 </s:iterator> 
    </s:select>
      

  13.   

    对与dwr还不是很熟,刚写了一下还是不行,我开始页面的数据是初始化的,要是用dwr的话不经过action,直接调用java代码,它返回时重新刷新一遍页面跳原来的action的话显示的不还是原来的数据吗?
      

  14.   


    如果你用DWR的话, 就不要刷新页面,这个时候你需要用JS来动态的将数据显示出来。
    你如果要通过action来显示数据的话,我建议你就没必要用ajax,
    直接采用跳转的方式来处理。用form表单提交数据,在action里面出来完了之后在跳转回原来的页面。可以把参数通过request容器给传递过来。。在页面显示