如何将多个选定的(通过复选框)行 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将多个选中的复选框值传递给服务器?
如何将多个 Html.DropDownList 选定值从 View(.aspx) 传递给 MVC 控制器的操作?