使用ajax将复选框数据发布到java servlet

时间:2017-10-09 11:00:17

标签: javascript java jquery ajax jsp

我有一个脚本,我尝试将复选框值传递给ajax,不知何故不能。 对于用户,将显示名称,而我使用以下内容获取用户所选名称的IDlist。

<script>
    var finalidlist = '';
        var checkboxes = $('.selectone');
        for (i = 0; i < checkboxes.length; i++) {
            if (checkboxes[i].checked === true) {
                if (finalidlist.length > 0) {
                    finalidlist += ',';
                }
                finalidlist += checkboxes[i].name;
            }
        }

    $('#selectall').click(function () {
        var checkboxes = $('.selectone');
        for (i = 0; i < checkboxes.length; i++) {
            checkboxes[i].checked = this.checked;
        }
    });
    $('.selectone').click(function () {
    });
</script>

之后,我尝试在用户提交

时将值传递给ajax
<script>
 $(function () {
    $('#submit_button').click(function () { $.ajax({
                url: 'submit.jsp',
                type: 'post',
                dataType: 'html',
                async: false,
                data: {ids: finalidlist}
    }
   };
}

</script>

虽然我无法在ajax中获取已检查的id列表。我对jsp很新,有人可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

我移动了您的脚本以在Click处理程序中初始化finalidlist。这样,每次复选框更改时,您都不需要更新列表。

$(function () {
    $('#submit_button').click(function () {
        var finalidlist = '';
        for (i = 0; i < checkboxes.length; i++) {
            if (checkboxes[i].checked === true) {
                if (finalidlist.length > 0) {
                    finalidlist += ',';
                }
                finalidlist += checkboxes[i].name;
            }
        }
        $.ajax({
            url: 'submit.jsp',
            type: 'post',
            dataType: 'html',
            async: false,
            data: {ids: finalidlist}
        }
    };
});