获取servlet

时间:2015-11-07 04:39:38

标签: javascript java html servlets

我试图将选择中的所有选项值都添加到Java中的Servlet中,但是我无法找到一种获取未选中的值的方法。我的HTML代码是:     < select id =" cart"大小=" 10"命名="车" onfocus此=" removeFromList()">     < /选择> 它开始为空,然后我用JS从另一个select中取值: function addToList(sel,value){    var adding = document.getElementById(" cart");    var option = document.createElement(" option");    option.text = sel.options [sel.selectedIndex] .text;    adding.add(可选);    adding.selectedIndex =(adding.options.length - 1); } 这很好用,每当我试图从我的" cart"中获取所有值时,我的问题就出现在servlet中。 list,因为它只返回在提交之前选择的那个:  String [] options = request.getParameterValues(" cart"); 有没有办法迭代select并将所有值发送到servlet?或者获取所有参数值,即使它们未被选中?任何帮助,将不胜感激。 更新: 完整的表单代码 < form method =" POST"行动=" servlet的"> < div id =" products-container">     //我用这个清单来挑选我想要的东西     < select id =" product-list"大小=" 26"的onclick =" addToList(本)">     <%       列表与LT;产品与GT; product = ProductDao.loadProducts();       for(int i = 0; i< product.size(); i ++){     %GT;     <%       out.write(        "< option value = \"" + product.get(i).getProductId()+" \">"        + product.get(i).getProductName()+"< / option>");     %GT;     <%       }     %GT;     < /选择> < / DIV> < div id =" cart-container">     //我使用这个列表来保存我已经选择的所有东西,     //如果我双击列表中的某个项目,它会删除所述项目     < select id =" cart"大小=" 10"命名="车" onfocus此=" removeFromList()">     < /选择> < / DIV>     <输入类型="提交"值="购买"> < /形式> removeFromList代码: function removeFromList(sel){    sel.remove(sel.selectedIndex); }

1 个答案:

答案 0 :(得分:0)

我刚刚在名为selectAll的提交上添加了一项功能,并使用selectmultiple设为ID cart。如果你使用jquery代码可以进一步减少。

<form method="POST" action="servlet" onsubmit="selectAll">
<div id="products-container">
    //I use this list to pick the things I want
    <select id="product-list" size="26" onclick="addToList(this)">
    <%
      List<Product> product = ProductDao.loadProducts();
      for(int i = 0; i < product.size(); i++){
    %>
    <%
      out.write(
       "<option value=\"" + product.get(i).getProductId() + "\">"
       + product.get(i).getProductName() + "</option>");
    %>
    <%
      }
    %>
    </select>
</div>
<div id="cart-container">
    //I use this list to save all the things I already picked, 
    //if I double click an item on the list, it removes said item
    <select id="cart" size="10" name="cart" onDblClick="removeFromList()" multiple>
    </select>
</div>
    <input type="submit" value="Buy">
</form>

<强>的javascript:

function selectAll(){
    var cartOptions = document.getElementById("cart").getElementsByTagName("option");
    for(var i=0;i<cart.length;i++){
        cartOptions[i].setAttribute("selected","true");
    }
}