在java中获取option元素的值

在java中获取option元素的值,java,javascript,Java,Javascript,我对javascript非常陌生,我已经为此工作了几个小时。。。。我想我会问一些专家 我正在设置此javascript函数中option元素的值: function receiveAnswer(response) { var aSeats = document.getElementById("aSeats"); aSeats.options.length = 0;// clear it out for (var i = 0; i < response.aSeats.le

我对javascript非常陌生,我已经为此工作了几个小时。。。。我想我会问一些专家

我正在设置此javascript函数中option元素的值:

function receiveAnswer(response) {
  var aSeats = document.getElementById("aSeats");
    aSeats.options.length = 0;// clear it out

   for (var i = 0; i < response.aSeats.length; i++) { // add the items back in
    var option = aSeats.appendChild(document.createElement("option"));
    option.value = i;
    option.appendChild(document.createTextNode(response.aSeats[i]));
  }
}
以下是html:

<% Venue v = (Venue)session.getAttribute("currentVenue"); %>
<% List<Conceptual_Package> cpList = Conceptual_PackageDAO.getInstance().getByVenue(v.getId()); %>

What Packages do you want to see?

 <form method="post" action="ttp.actions.Sale3PackAction.action">
 <select name="packid" id="packid">
     <% for (Conceptual_Package cp: cpList) { %>
    <option value="<%=cp.getId()%>"><%=cp.getName1()%></option>
    <% } %>


 </select>

    <input type="button" value="  next  " onclick="getSeats();"/>

    </form>


<!--new-->


Available Seats:

<div>

</div>

 <select name="aSeats" size="10" id="aSeats">
 </select>


    <input type="button" value="  add  " onclick="addToCart();"/>

    <div>

    </div>


Selected Seats:
 <form method="post" action="ttp.actions.sale4Action.action">
     <select name="Seat2" size="10" id="seat2">

     </select>

<input type="button" value="  remove  " onclick="removeFromCart();"/>

    </form>

<div>

</div>

 <form method="post" action="ttp.actions.finalizeSaleAction.action">

    <input type="submit" value="  Buy Tickets  "/>

    </form>
我想获得这个java类中这些选项元素的值:

public class finalizeSaleAction implements Action {
    public String process(HttpServletRequest request, HttpServletResponse response) throws Exception {

        HttpSession session = request.getSession();
        Venue v = (Venue) session.getAttribute("currentvenue");
        Sale s = SaleDAO.getInstance().create(GUID.generate());
        if(session.getAttribute("type") == "packages"){


            Conceptual_Package cp = (Conceptual_Package) request.getAttribute("cp");

            List<Physical_Package> ppList = (List<Physical_Package>) request.getAttribute("seat2");

            Physical_Pkg_Set pps = Physical_Pkg_SetDAO.getInstance().create(GUID.generate());

            pps.setType("Phys Package Set");
            pps.setDiscount(cp.getDiscount());
            pps.setVenueID(v.getId());

            double price = 0;

            Object seatList = request.getAttribute("seat2");

您需要设置option元素的名称。提交表单时,浏览器将在查询或post数据中发送name=value

从servlet代码中,您可以通过以下方式获得该表单元素的值:

request.getParameter(name);
你可能会看到一个IE bug,它使这个问题变得复杂。见:

编辑:

如果我理解正确,您将使用JS或服务器端构建的表单可能看起来像:

<html>
 <body>
  <form action="blah" method="post">
   <table>
    <tr><td>Pink Unicorn</td><td>14.95</td></tr>
    <tr><td>Sparkly Vampire</td><td>12.99</td></tr>
    <tr><td colspan="2"><input type="submit" value="do it now" /></td></tr>
   </table>
   <input type="hidden" name="item1" value="PU1" />
   <input type="hidden" name="item2" value="SV1" />
  </form>
 </body>
</html>

您需要设置option元素的名称。提交表单时,浏览器将在查询或post数据中发送name=value

从servlet代码中,您可以通过以下方式获得该表单元素的值:

request.getParameter(name);
你可能会看到一个IE bug,它使这个问题变得复杂。见:

编辑:

如果我理解正确,您将使用JS或服务器端构建的表单可能看起来像:

<html>
 <body>
  <form action="blah" method="post">
   <table>
    <tr><td>Pink Unicorn</td><td>14.95</td></tr>
    <tr><td>Sparkly Vampire</td><td>12.99</td></tr>
    <tr><td colspan="2"><input type="submit" value="do it now" /></td></tr>
   </table>
   <input type="hidden" name="item1" value="PU1" />
   <input type="hidden" name="item2" value="SV1" />
  </form>
 </body>
</html>
而不是

request.getAttribute("seat2");
使用

以及从浏览器中获取选定选项元素的所有值

将以下选择标记更改为

 <select name="aSeats" size="10" id="aSeats"  multiple="multiple"/>
要获取select选项的所有值,请使用jQuery执行以下操作

而不是

request.getAttribute("seat2");
使用

以及从浏览器中获取选定选项元素的所有值

将以下选择标记更改为

 <select name="aSeats" size="10" id="aSeats"  multiple="multiple"/>
要获取select选项的所有值,请使用jQuery执行以下操作


@蒂姆·西尔维斯特对不起,我想我解释得不好。我需要从这个select元素中获取每个选项元素:请参见上面的编辑,所以我想知道如何获取所有这些选项,然后获取每个选项的值……您想要服务器端的所有选项值吗?浏览器仅发送选择选项值,因此其余选项不可用。你可以将它们作为表单中的其他输入元素发送,是的,我想这就是我需要做的。我该怎么把它写进表格里呢?实际上我认为这行不通。我使用的select元素类似于购物车类型的系统。因此,人们将项目添加到select元素,然后我需要获取所有这些添加的项目,并根据其中的值构建对象。有什么好主意吗。我没有了。如果可能的话,可以使用JS为您想要发送的所有内容创建隐藏的表单输入。称它们为“item1”…'蒂姆·西尔维斯特:对不起,我觉得我解释得不好。我需要从这个select元素中获取每个选项元素:请参见上面的编辑,所以我想知道如何获取所有这些选项,然后获取每个选项的值……您想要服务器端的所有选项值吗?浏览器仅发送选择选项值,因此其余选项不可用。你可以将它们作为表单中的其他输入元素发送,是的,我想这就是我需要做的。我该怎么把它写进表格里呢?实际上我认为这行不通。我使用的select元素类似于购物车类型的系统。因此,人们将项目添加到select元素,然后我需要获取所有这些添加的项目,并根据其中的值构建对象。有什么好主意吗。我没有了。如果可能的话,可以使用JS为您想要发送的所有内容创建隐藏的表单输入。称它们为“item1”…'什么的。
String seats= request.getParameter("selectedSeats");
String selectedSeats[] = seats.split(",");