function addSelect(){
       
var sel=document.getElementById("time");
sel_value = sel.options[sel.selectedIndex].value;
alert(sel_value);
return sel_value;
}--></script>
</head><body>
<div>
<table width="813" border="1" cellpadding="5" cellspacing="1" bordercolor="#EEEEEE" width="831" align="center">
<tr>
<td width="94" align="center">序号</td>
<td width="196" align="center">产品名称</td>
<td width="176" align="center">产品编号</td>
<td width="104" align="center">费用</td>
<td width="150" align="center">备注</td>
<td width="150" align="center">订购月数</td>
<td width="150" align="center">订购</td>
</tr>
<s:iterator value="#session.userSelectPayChannelBeanList" status="index"> 
<tr>
<td align="center"  class="w04"><s:property value = "#index.index+1"/></td>
<td align="center"  class="w04"><s:property value = "getProductName()"/></td>
<td align="center" class="w04"><s:property value = "getProductNo()"/></td>
<td align="center" class="w04"><s:property value = "getMonthlyFee()"/></td>
<td align="center" class="w04"><s:property value = "getRes()"/></td>
<td align="center" class="w04"> 
<select name="selectPayChannelTime" id="time" onchange="addSelect()">
<option value="1">一年</option>
<option value="2">二年</option>
<option value="3">三年</option>
<option value="4">1个月</option>
<option value="5">2个月</option>
<option value="6">3个月</option>
<option value="7">4个月</option>
<option value="8">5个月</option>
<option value="9">6个月</option>
<option value="10">7个月</option>
<option value="11">8个月</option>
<option value="12">9个月</option>
<option value="13">10个月</option>
<option value="14">11个月</option>
<option value="15">12个月</option>
<option value="16">13个月</option>
<option value="17">14个月</option>
<option value="18">15个月</option>
<option value="19">16个月</option>
<option value="20">17个月</option>
<option value="21">18个月</option>
<option value="22">19个月</option>
<option value="23">20个月</option>
<option value="24">21个月</option>
<option value="25">22个月</option>
<option value="26">23个月</option>
</select>
</td>
<s:hidden name = "doAction" value = "selectPayChannel"/>
<input type="hidden" name="selectPayChannelProductNo" value="<s:property value = "getProductNo()"/>" id="selectPayChannelProductNo"/>
<td align="center" class="w04">
<a href="/szds/userHandleBusiness.do?doAction=selectPayChannel&selectPayChannelProductNo=<s:property value = "getProductNo()"/>&selectPayChannelTime="addSelect()"">订购</a>
</td>
</tr>
</s:iterator>
</table>
</div>
</body>
</html>我想点击订购时传几个参数,用selectPayChannelTime获取单选菜单的value,但selectPayChannelTime的值不知道怎么才能传给它,希望大神帮帮忙指导一下,谢谢

解决方案 »

  1.   

    不明白为什么要用这种方法(sel.options[sel.selectedIndex].value;)   我平时都是直接对象.value就可以了
    再说传值的function总要返回值吧(selectPayChannelTime="return addSelect()")我推荐你还是把连接写到function中
      

  2.   

    前面明白咯,不过什么是把连接写到function中?selectPayChannelTime="return addSelect()" 我用了这条语句还是获取不到值。
      

  3.   


    function addSelect(selObj) {
     selObj = document.getElementById('selectPayChannelTime');
     var value= selObj.options[selObj.selectedIndex].text;
     alert(value);
     }
    这样试试呢?
      

  4.   

    在下拉菜单里写onchange已经可以获取到值了,不过不知道怎么把值传给JS外面的参数selectPayChannelTime。
      

  5.   

    你直接在第二个页面写
    String selectPayChannelTime = request.getParameter("selectPayChannelTime");
    不行吗?
      

  6.   


    function addSelect(){
        
    var sel=document.getElementById("time");
    sel_value = sel.options[sel.selectedIndex].value;
    alert(sel_value);
    return sel_value;
    }
    function doOrder(){
        var targetUrl = "/szds/userHandleBusiness.do?doAction=selectPayChannel&selectPayChannelProductNo=<s:property value = "getProductNo()" />&selectPayChannelTime=";
        var selectPayChannelTime = document.getElementById("selectPayChannelTime").options[document.getElementById("selectPayChannelTime").selectedIndex].value;
        window.location.href = targetUrl + selectPayChannelTime ;
    }
    --></script>
    </head><body>
    <div>
    <table width="813" border="1" cellpadding="5" cellspacing="1" bordercolor="#EEEEEE" width="831" align="center">
    <tr>
    <td width="94" align="center">序号</td>
    <td width="196" align="center">产品名称</td>
    <td width="176" align="center">产品编号</td>
    <td width="104" align="center">费用</td>
    <td width="150" align="center">备注</td>
    <td width="150" align="center">订购月数</td>
    <td width="150" align="center">订购</td>
    </tr>
    <s:iterator value="#session.userSelectPayChannelBeanList" status="index">  
    <tr>
    <td align="center" class="w04"><s:property value = "#index.index+1"/></td>
    <td align="center" class="w04"><s:property value = "getProductName()"/></td>
    <td align="center" class="w04"><s:property value = "getProductNo()"/></td>
    <td align="center" class="w04"><s:property value = "getMonthlyFee()"/></td>
    <td align="center" class="w04"><s:property value = "getRes()"/></td>
    <td align="center" class="w04">  
    <select name="selectPayChannelTime" id="time" onchange="addSelect()">
    <option value="1">一年</option>
    <option value="2">二年</option>
    <option value="3">三年</option>
    <option value="4">1个月</option>
    <option value="5">2个月</option>
    <option value="6">3个月</option>
    <option value="7">4个月</option>
    <option value="8">5个月</option>
    <option value="9">6个月</option>
    <option value="10">7个月</option>
    <option value="11">8个月</option>
    <option value="12">9个月</option>
    <option value="13">10个月</option>
    <option value="14">11个月</option>
    <option value="15">12个月</option>
    <option value="16">13个月</option>
    <option value="17">14个月</option>
    <option value="18">15个月</option>
    <option value="19">16个月</option>
    <option value="20">17个月</option>
    <option value="21">18个月</option>
    <option value="22">19个月</option>
    <option value="23">20个月</option>
    <option value="24">21个月</option>
    <option value="25">22个月</option>
    <option value="26">23个月</option>
    </select>
    </td>
    <s:hidden name = "doAction" value = "selectPayChannel"/>
    <input type="hidden" name="selectPayChannelProductNo" value="<s:property value = "getProductNo()"/>" id="selectPayChannelProductNo"/>
    <td align="center" class="w04">
    <a href="javascript:doOrder()"/>订购</a>
    </td>
    </tr>
    </s:iterator>
    </table>
    </div>
    </body>
    </html>
      

  7.   

    非常感谢楼上大神的帮忙,但有个小BUG,传过去的值为什么都是第一行的单选菜单选中的值..?点击其他行的购买,传的也是第一行的。
      

  8.   

    貌似这样不行诶,写在JS里,<s:property value="getProductNo()"/>获取不到值了
      

  9.   

    哦,那可以写到方法里传过去,因为你那个是从一个list中拿到的,因此通过方法参数传递才可以。
    select 总选第一个是id用错了,已修改了
    function addSelect(){
        
    var sel=document.getElementById("time");
    sel_value = sel.options[sel.selectedIndex].value;
    alert(sel_value);
    return sel_value;
    }
    function doOrder(productNo){
        var targetUrl = "/szds/userHandleBusiness.do?doAction=selectPayChannel&selectPayChannelProductNo=" 
        + productNo + "&selectPayChannelTime=";
        var selectPayChannelTime = document.getElementById("time")
                                  .options[document.getElementById("time").selectedIndex].value;
        window.location.href = targetUrl + selectPayChannelTime ;
    }
    --></script>
    </head><body>
    <div>
    <table width="813" border="1" cellpadding="5" cellspacing="1" bordercolor="#EEEEEE" width="831" align="center">
    <tr>
    <td width="94" align="center">序号</td>
    <td width="196" align="center">产品名称</td>
    <td width="176" align="center">产品编号</td>
    <td width="104" align="center">费用</td>
    <td width="150" align="center">备注</td>
    <td width="150" align="center">订购月数</td>
    <td width="150" align="center">订购</td>
    </tr>
    <s:iterator value="#session.userSelectPayChannelBeanList" status="index">  
    <tr>
    <td align="center" class="w04"><s:property value = "#index.index+1"/></td>
    <td align="center" class="w04"><s:property value = "getProductName()"/></td>
    <td align="center" class="w04"><s:property value = "getProductNo()"/></td>
    <td align="center" class="w04"><s:property value = "getMonthlyFee()"/></td>
    <td align="center" class="w04"><s:property value = "getRes()"/></td>
    <td align="center" class="w04">  
    <select name="selectPayChannelTime" id="time" onchange="addSelect()">
    <option value="1">一年</option>
    <option value="2">二年</option>
    <option value="3">三年</option>
    <option value="4">1个月</option>
    <option value="5">2个月</option>
    <option value="6">3个月</option>
    <option value="7">4个月</option>
    <option value="8">5个月</option>
    <option value="9">6个月</option>
    <option value="10">7个月</option>
    <option value="11">8个月</option>
    <option value="12">9个月</option>
    <option value="13">10个月</option>
    <option value="14">11个月</option>
    <option value="15">12个月</option>
    <option value="16">13个月</option>
    <option value="17">14个月</option>
    <option value="18">15个月</option>
    <option value="19">16个月</option>
    <option value="20">17个月</option>
    <option value="21">18个月</option>
    <option value="22">19个月</option>
    <option value="23">20个月</option>
    <option value="24">21个月</option>
    <option value="25">22个月</option>
    <option value="26">23个月</option>
    </select>
    </td>
    <s:hidden name = "doAction" value = "selectPayChannel"/>
    <input type="hidden" name="selectPayChannelProductNo" value="<s:property value = "getProductNo()"/>" id="selectPayChannelProductNo"/>
    <td align="center" class="w04">
    <a href="javascript:doOrder('<s:property value = "getProductNo()" />')"/>订购</a>
    </td>
    </tr>
    </s:iterator>
    </table>
    </div>
    </body>
    </html>