如何提交选中的复选框项目

How to submit selected checkbox items?

本文关键字:复选框 项目 何提交 提交      更新时间:2023-09-26

我有一个项目列表,需要根据用户的请求选择并执行操作。用户选择项目并单击其中一个btn来对项目执行操作。

我的代码如下,但我不确定如何完成它。我认为,需要将它们放在一个表格中提交或通过,但不确定如何拥有一个带有两个提交btn的表格(如果我需要的话)。

 <body>
        <p><b>Shopping cart</b></p>
        <table>
            <tbody>
                <c:forEach items="${mycart.items}" var="item">
                    <tr>
                        <td>
                            <input type="checkbox" name="Items" 
                                                         value="${item.ID}"/>  
                        </td>
                        <td>
                           Name : ${item.name}
                        </td>
                    </tr>
                </c:forEach>
            </tbody>
        </table>
        <a href="checkout" onclick="checkout()">checkout</a>
        <a href="delete" onclick="delete()">Delete</a>

您可以轻松地在一个<form>中拥有两个<input type="submit" name="something" />如果您想区分操作,只需为每个提交按钮使用不同的name

编辑:

<form ...>
   ...
   ...
   <input id="b1" type="submit" name="edit" value="Edit"/>
   <input id="b2" type="submit" name="delete" value="Delete"/>
</form>

如果上面的表格是通过点击#b1提交的,那么您的请求将包含一个名为"edit"的参数。如果提交是由#b2触发的,那么它将包含"删除"。

我认为下面的脚本可以让您获得检查的项目。使用jQuery,您需要像以下一样实现checkout()

function checkout() {
    $('input[name="Items"]:checkbox').each(function() {
        if ($(this).attr("checked")) {
            alert($(this).val() + 'is checked');
        } else {
            alert($(this).val() + 'is not checked');
        }
    }
    );     
}