gpt4 book ai didi

javascript - 将复选框选中状态传递给 AJAX 脚本

转载 作者:行者123 更新时间:2023-12-03 03:49:24 26 4
gpt4 key购买 nike

我有一个表,第一列中有一个复选框 - 当选中时,它会执行一个 AJAX 脚本,用所选值更新 PHP session 变量。这一切都运行良好,但我现在需要更新它,以便它传递复选框的状态,以便我可以将所选值添加到 PHP 数组或从 PHP 数组中删除所选值。

我无法弄清楚如何将选中状态作为附加参数包含到 AJAX post 请求中 - 如果没有这个,我无法确定是否在数组中添加或删除 ProductID 值。

这是我到目前为止所拥有的:

$(document).ready(function() {
$("input.select-item").click(function() {
var productID = $(this).val();
// Create a reference to $(this) here:
$this = $(this);
$.post('productSelections.php', {
type: 'updateSelections',
productID: productID,
selectionType: 'single'
}, function(data) {
data = JSON.parse(data);
if (data.error) {
var ajaxError = (data.text);
var errorAlert = 'There was an error updating the Product Selections';
$this.closest('td').addClass("has-error");
$("#updateSelectionsErrorMessage").html(errorAlert);
$("#updateSelectionsError").show();
return; // stop executing this function any further
} else {
$this.closest('td').addClass("success")
$this.closest('td').removeClass("danger");
}
}).fail(function(xhr) {
var httpStatus = (xhr.status);
var ajaxError = 'There was an error updating the Product Selections';
$this.closest('td').addClass("danger");
$("#updateSelectionsErrorMessage").html(ajaxError);
$("#updateSelectionsError").show();
});
});
});
<table class="table table-condensed table-striped table-bordered">
<thead>
<th><input type="checkbox" class="select-all checkbox" name="select-all" /></th>
<th class="text-center" scope="col">Product ID</th>
<th class="text-center" scope="col">Description</th>
</thead>
<tbody>

<tr class="" id="85799">
<td id="AT36288"><input type="checkbox" class="select-item checkbox" name="select-item" value="AT36288" /></td>
<td>AT36288</td>
<td>Apples</td>
<td></td>
</tr>
<tr class="" id="85800">
<td id="AT36289"><input type="checkbox" class="select-item checkbox" name="select-item" value="AT36289" /></td>
<td>AT36289</td>
<td>Bananas</td>
<td></td>
</tr>
<tr class="" id="85801">
<td id="AT36290"><input type="checkbox" class="select-item checkbox" name="select-item" value="AT36290" /></td>
<td>AT36290</td>
<td>Oranges</td>
<td></td>
</tr>
<tr class="" id="85803">
<td id="AT36292"><input type="checkbox" class="select-item checkbox" name="select-item" value="AT36292" /></td>
<td>AT36292</td>
<td>Grapes</td>
<td></td>
</tr>
</tbody>
</table>

最佳答案

实际上有多种解决方案。

您可以使用 $("input.select-item").attr$("input.select-item").prop $("input.select-item").is 为此:

$("input.select-item").attr( "checked" ): checked
$("input.select-item").prop( "checked" ): true
$("input.select-item").is( ":checked" ): true

就我个人而言,我更喜欢 $().prop

这是文档 http://api.jquery.com/prop/

但是要选择选中的复选框元素,您可以简单地使用 :checked 选择器:

$("select-item:checked")

关于javascript - 将复选框选中状态传递给 AJAX 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45231727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com