javascript - 使用 ajax 到 jsp 将复选框值传递到数组中

标签 javascript jquery ajax jsp

我有一个如下所示的表单,我需要传递选中的复选框的值,但我不知道如何进行。

<input type="checkbox" id="invid" name="invid" value="100236">
<input type="checkbox" id="invid" name="invid" value="100852">
<input type="checkbox" id="invid" name="invid" value="100962">
<input type="checkbox" id="invid" name="invid" value="100965">
<input type="checkbox" id="invid" name="invid" value="101002">

<button id="submit">Submit</button>

<script>

$('#submit').click(function() {

$.ajax({
    url: "collect.jsp",
    type: "post",
    data: Winvid: invid,
    success: function(data) {
    $('#response').html(data);
    }
});


});
</script>

最佳答案

首先,您的 HTML 无效,因为您重复了 id 属性,而它们必须是唯一的。使用类来代替:

<input type="checkbox" class="invid" name="invid" value="100236">
<input type="checkbox" class="invid" name="invid" value="100852">
<input type="checkbox" class="invid" name="invid" value="100962">
<input type="checkbox" class="invid" name="invid" value="100965">
<input type="checkbox" class="invid" name="invid" value="101002">

然后您可以使用 map() 创建所选复选框值的数组。然后,您可以向 $.ajax() 方法的 data 属性提供一个对象,以传递请求中的数据。试试这个:

$('#submit').click(function() {
    var checkedValues = $('.invid:checked').map(function() {
        return this.value;
    }).get();

    $.ajax({
        url: "collect.jsp",
        type: "post",
        data: { invid: checkedValues },
        success: function(data) {
            $('#response').html(data);
        }
    });
});

关于javascript - 使用 ajax 到 jsp 将复选框值传递到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39787543/

相关文章:

javascript - 如何缩小大图像 (1600x1200) 使其适合大多数屏幕作为背景?

javascript - 将外部 url 加载到 div 但无法更改加载页面的样式

javascript - 带有 AND OR 条件的 jquery 多个选择器

javascript - 简单的 jquery 事件处理程序

javascript - 在 maxlength 处于事件状态时输入时触发,即使达到 maxlength

jquery - 进行异步 ajax 调用时,加载动画在 IE7 中卡住,有时在 IE8 中卡住

javascript - 客户端使用Crypto JS计算MD5哈希与终端计算不同

javascript - Jquery ui datepicker年份滚动条在拖动时无法直观更新

java - byte[] 到 Wicket 中的 iresourcestream

javascript - 解析通过 JavaScript 从 AJAX 请求获得的 JSON 响应