【问题标题】:How to pass multiple selected (through checkboxes) row ids to a php script in jQuery?如何将多个选定的(通过复选框)行 ID 传递给 jQuery 中的 php 脚本?
【发布时间】:2011-01-15 16:07:56
【问题描述】:

我正在生成一个看起来像这样的 html 文件:

<tr id="ID001" property1="PROPERTY001"><td><input type="checkbox" 
       name="row_checkbox_ID001"></td><td>...</td><td>...</td></tr>
<tr id="ID002" property1="PROPERTY002"><td><input type="checkbox" 
       name="row_checkbox_ID002"></td><td>...</td><td>...</td></tr>

当用户选择要删除的单个行时,我如何(通过 jQuery)将其传递给 php 脚本?

我需要构建这样的东西:

$(document).ready(function () {
    $('#contact-form input.contact-delete').click(function (e) {
        e.preventDefault();
        $.get("deleterecord.php", ...);
    });
});

可以有 0、1 或多行...生成的 HTML 在我的控制之下,可以修改。


澄清:

我希望在所有这些行上方有一个按钮,用户可以在从表中选择行后单击该按钮。

<div id='contact-form'><h2>Contacts</h2>
<input type='button' name='contact-delete' value='Delete Record(s)' 
class='contact-delete'/>

需要删除 TR,但在此之前,需要使用 TR id 调用 deleterecord.php 脚本。

【问题讨论】:

  • 在服务器端更改数据时,不要使用 HTTP 的 GET 方法(就像使用 $.get() 一样)。请改用 POST。

标签: php jquery jquery-selectors


【解决方案1】:

使用 HTML 数组

<input type="checkbox" name="chk[]" value="01234">
<input type="checkbox" name="chk[]" value="98765">

【讨论】:

  • 嗨 Pentium10 - 这很酷,但是如何将“选中”复选框的 ID 传递给 php 脚本?
  • 如果您提交表单,它们将传递给 php,您将收到一个数组,例如 print_r($_POST[chk]);
【解决方案2】:

您可以创建一个JSON 对象,其中包含所选行的详细信息(ID 或您需要的任何内容)并将其发送到您的 php 脚本。在 json、php + jquery 上查看这个 article

【讨论】:

    【解决方案3】:

    我相信,您正在寻找类似的行为:

    $('#contact-form input.contact-delete').click(function (e) {
        var $this = $(this);
        // find the table row, in which are elements contained
        var $tr = $this.closest('tr');
        // take id
        var id = $tr.attr('id');
        // ajax with id
        $.get("deleterecord.php?id="+id, function (data) {
            // remove table row on success
            $tr.remove();
        });
        e.preventDefault();
    });
    

    【讨论】:

    • Juraj - 感谢您的回复。看看我上面的说明。 click() 函数用于一个按钮,该按钮应查看已选择哪些 TR id 并将它们传递给 php 脚本...
    【解决方案4】:

    很抱歉回答了我自己的问题,但是Getting all selected checkboxes in an array 的 SO 帖子巧妙地解决了我的问题!

    对于此页面的未来访问者,请注意您的 HTML 中的变量名称以及您如何访问 jQuery 中的输入复选框!

    【讨论】:

      猜你喜欢
      • 2013-09-06
      • 1970-01-01
      • 2020-04-09
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 2012-06-22
      • 2013-08-06
      相关资源
      最近更新 更多