当我点击复选框(检查或取消选中)时,我想将其状态(开/关)和id(或名称)的值发送到php(然后是sql)。 我的伪代码如下:
$("input:checkbox").click(function () {
var cat_id = jQuery(this).attr('name');
var status = [];
if($("input:checkbox").is(':checked')) {
return $(this).attr();
} else {
return $(this).attr();
}
$.post("var_dump.php", {
cat_id: status
}, // should be id(name of chbox) and its value 1-on, 0-off
function (response) {
$("#result").text(response); //just for checking
});
return true;
});
我会有很多行包含每行的数据和复选框(因此未经检查的框不会计算),我可以使用.map()
或.each()
来构建数组,但我希望每个都有新值时间我改变了复选框的状态 - 所以每次它应该是新的$.post
值。
数组的原因是我想让按钮取消选中五个或十个(最后一个)复选框/行,因此它应该是一次性数组。 (但这将在稍后实施。)
答案 0 :(得分:1)
在您的代码中,return语句甚至不会等待后置代码执行。删除那些不需要的return语句并试试这个。同时将status
定义为对象而不是数组,因为您要在post请求中发送键/值对。
$("input:checkbox").click(function () {
var cat_id = jQuery(this).attr('name');
var status = {};
//This will get the id or name whatever is available
status[this.id || this.name] = this.checked ? "1": "0";
$.post("var_dump.php", {
cat_id: status
}, // should be id(name of chbox) and its value 1-on, 0-off
function (response) {
$("#result").text(response); //just for checking
});
return true;
});