jquery - 如何从表格单元格中获取复选框的值并作为表单提交

标签 jquery html

我的问题是如何获取表格单元格元素并将其附加到表单中。

function submitTable(url) {
    form = document.createElement('form');
    form.method = 'POST';
    form.action = url;

    /*
     HOW TO FIND ALL SELECTED CHECKBOX HERE
    */
    
    document.body.appendChild(form);
    form.submit();

}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="mytable" class="table">
    <thead>
        <tr>
            <th scope="col">COL1</th>
            <th scope="col">COL2</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td id="1">
                <div>
                    <input class="form-check-input" type="checkbox" name="checkbox1[]" value="something">
                </div>
                <div>
                    <input class="form-check-input" type="checkbox" name="checkbox2[]" value="something">
                </div>
            </td>
            <td id="2">
                <div>
                    <input class="form-check-input" type="checkbox" name="checkbox1[]" value="something">
                </div>
                <div>
                    <input class="form-check-input" type="checkbox" name="checkbox2[]" value="something">
                </div>
            </td>
        </tr>
        <tr>
            <td id="3">
                <div>
                    <input class="form-check-input" type="checkbox" name="checkbox1[]" value="something">
                </div>
                <div>
                    <input class="form-check-input" type="checkbox" name="checkbox2[]" value="something">
                </div>
            </td>
            <td id="4">
                <div>
                    <input class="form-check-input" type="checkbox" name="checkbox1[]" value="something">
                </div>
                <div>
                    <input class="form-check-input" type="checkbox" name="checkbox2[]" value="something">
                </div>
            </td>
        </tr>
    </tbody>
</table>
<button id="MYFORM" class="btn btn-primary">Submit</button>

如何在点击时找到特定的单元格在单元格点击时选中两个复选框,当点击按钮时, 读取所有单元格并获取选中的复选框值作为数组以表单形式提交

我希望当我单击单元格而不是单个复选框时,当单击单元格时使用 jquery 检查两个复选框。然后,在完成选择单元格后,在 id="MYFORM" 按钮上单击我想查找所有选中的复选框并将它们作为生成的表单提交。

最佳答案

要附加所有选中的复选框,只需使用指定适当的集合作为查询选择器:

function submitTable(url)
{
  let form = document.createElement('form');
  form.setAttribute('action', url);
  $("#my-table>tbody input[type=checkbox]:checked").clone().appendTo(form);

  document.body.appendChild(form);
  form.submit();
}

请注意,您当前的命名无法区分。生成名称,如 name="checkbox1[1]" 指定显式索引。

您可以通过以下方式选中表格行的所有复选框

  $('#my-table>tbody>tr').click(function(ev)
  {
    if(ev.target.tagName !== 'INPUT')
      $(this).find('>td input[type=checkbox]').prop('checked', true);
  })

关于jquery - 如何从表格单元格中获取复选框的值并作为表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568604/

相关文章:

javascript - 如何通过 jquery 解析带有用户页面 id 的图像而不使用提交按钮

javascript - php 和 mysql 中的自动完成表单字段

javascript - 单击 "no submit"按钮形成帖子

javascript - 如何逐渐设置正在(冒泡)排序的元素的样式?

jquery - 仅为一组匹配项中的第一个 div 添加属性

php - 将 html 表行合并为 mysql 和 php 数据透视表中的行

html - 导航菜单从容器中溢出

html - Mat-table、mat-sort 无法正常工作

html - 如何删除响应式导航栏中的空间?

php - AJAX 通过 php 从 sql 中获取数据,然后将数据值显示到 html 元素中