如何将多个选定的(通过复选框)行 ID 传递给 jQuery 中的 php 脚本?

Posted

技术标签:

【中文标题】如何将多个选定的(通过复选框)行 ID 传递给 jQuery 中的 php 脚本?【英文标题】:How to pass multiple selected (through checkboxes) row ids to a php script in jQuery? 【发布时间】: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。 【参考方案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 中的输入复选框!

【讨论】:

以上是关于如何将多个选定的(通过复选框)行 ID 传递给 jQuery 中的 php 脚本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中使用api将多个选中的复选框值传递给服务器?

如何将选定的微调器 id 传递给片段

通过 Ajax 将多个复选框传递给 PHP

如何将多个 Html.DropDownList 选定值从 View(.aspx) 传递给 MVC 控制器的操作?

我在自定义表格视图中有 FB 朋友的图像和名称。如何获取 FB ID 中的选定行并将请求发送给多个朋友?

Sencha Touch:将商店传递给复选框?