Php 在不刷新页面的情况下获取复选框值

Php 在不刷新页面的情况下获取复选框值,php,javascript,html,ajax,get,Php,Javascript,Html,Ajax,Get,我有一张复选框表: <td><input id="box" name="box" type="checkbox" value="1" checked /></td> <td><input id="box" name="box" type="checkbox" value="2" checked /></td> <td><input id="box" name="box" type="checkbox" va

我有一张复选框表:

<td><input id="box" name="box" type="checkbox" value="1" checked /></td>
<td><input id="box" name="box" type="checkbox" value="2" checked /></td>
<td><input id="box" name="box" type="checkbox" value="3" checked /></td>
到目前为止,我获得了以下javascript代码来检查该框是否已选中:

function validate(){ 
if (document.getElementById('box').checked){
    alert("checked") ;
}else{
    alert("You didn't check it! Let me check it for you.")
}
}

我想在其上添加AJAX,但迄今为止我尝试的所有代码片段都不适合我的代码。我将感谢您的帮助。

您想使用AJAX。下面是一个没有AJAX的jQuery示例:

<td><input id="box1" class="box" name="box1" type="checkbox" value="1" checked /></td>
<td><input id="box2" class="box" name="box2" type="checkbox" value="2" checked /></td>
<td><input id="box3" class="box" name="box3" type="checkbox" value="3" checked /></td>
演示:

现在,不要执行
警报
调用,而是向后端URL发送$.post,该URL的id和值为checked或unchecked。比如说,

$.post('/submit-checkbox.php', {id: checkbox.attr('id'), value: isChecked});
如果我们把它放回代码中,它会是这样的:

$(document).ready(function() {
  $('.box').on('change', function(event) {
    var checkbox = $(event.target);
    var isChecked = $(checkbox).is(':checked');
    $.post('/whatever-your-url-is.php', {id: checkbox.attr('id'), value: isChecked});
  });
});

您想要使用AJAX。下面是一个没有AJAX的jQuery示例:

<td><input id="box1" class="box" name="box1" type="checkbox" value="1" checked /></td>
<td><input id="box2" class="box" name="box2" type="checkbox" value="2" checked /></td>
<td><input id="box3" class="box" name="box3" type="checkbox" value="3" checked /></td>
演示:

现在,不要执行
警报
调用,而是向后端URL发送$.post,该URL的id和值为checked或unchecked。比如说,

$.post('/submit-checkbox.php', {id: checkbox.attr('id'), value: isChecked});
如果我们把它放回代码中,它会是这样的:

$(document).ready(function() {
  $('.box').on('change', function(event) {
    var checkbox = $(event.target);
    var isChecked = $(checkbox).is(':checked');
    $.post('/whatever-your-url-is.php', {id: checkbox.attr('id'), value: isChecked});
  });
});
您可以使用jQuery:


$(文档).ready(函数(){
$(“#框”)。单击(函数(){
var selectedValue=$(this.value();
次值(selectedValue);
});
});
函数子值(已选择值){
var请求=$.ajax({
url:url\u您的\u PHP\u文件,
类型:“POST”,
数据类型:“json”,
数据:{value:valueSelected}
});
请求完成(功能(结果){
//用你的结果做你想做的
});
}
然后,在PHP文件中,您可以在$_POST['value']中获取所选的值,并返回所需的内容(JSON格式)。

您可以使用jQuery:


$(文档).ready(函数(){
$(“#框”)。单击(函数(){
var selectedValue=$(this.value();
次值(selectedValue);
});
});
函数子值(已选择值){
var请求=$.ajax({
url:url\u您的\u PHP\u文件,
类型:“POST”,
数据类型:“json”,
数据:{value:valueSelected}
});
请求完成(功能(结果){
//用你的结果做你想做的
});
}

然后在PHP文件中,您可以在$_POST['value']中获得所选的值并返回所需的内容(JSON格式)。

不幸的是,这并不简单。了解Ajax,然后使用复杂的库方法将其写得简短。到目前为止,你有一些javascript吗?@Danny Ajax,但没有取得很大成功……当你选中每个框时,对PHP脚本进行jQuery Ajax调用,你就会得到它。遗憾的是,单靠PHP是做不到的。你能发布你的代码吗?我会感谢如果有人能发布一个代码片段,我被困在项目的中间。不幸的是,它并不简单。了解Ajax,然后使用复杂的库方法将其写得简短。到目前为止,你有一些javascript吗?@Danny Ajax,但没有取得很大成功……当你选中每个框时,对PHP脚本进行jQuery Ajax调用,你就会得到它。遗憾的是,单靠PHP是做不到的。你能发布你的代码吗?我会感谢如果有人能发布一个代码片段,我被困在项目的中间。好,当我检查/取消检查时,我得到一个警告。但是,当我插入$.post语句时,我会看到一个空白屏幕?我应该把它放在我的代码中的什么地方?php“get”语句是在哪里产生的呢?那么php端是什么呢?当复选框更改时,您是否正在收听要提交的帖子或GET?我用一个例子更新了它,但您需要
$。发布
$。将
转到服务器上要侦听的任何URL(端点)以获取此数据。使用POST而不是GET来提交数据更正确(这样做的问题更少)。。。(get.js=上面的函数),所以您需要了解AJAX如何与PHP和jQuery一起工作。这有点复杂。这里有一个例子:但是你可以在谷歌上搜索更多。好的,当我选中/取消选中时,我会收到一个警报。但是,当我插入$.post语句时,我会看到一个空白屏幕?我应该把它放在我的代码中的什么地方?php“get”语句是在哪里产生的呢?那么php端是什么呢?当复选框更改时,您是否正在收听要提交的帖子或GET?我用一个例子更新了它,但您需要
$。发布
$。将
转到服务器上要侦听的任何URL(端点)以获取此数据。使用POST而不是GET来提交数据更正确(这样做的问题更少)。。。(get.js=上面的函数),所以您需要了解AJAX如何与PHP和jQuery一起工作。这有点复杂。这里有一个例子:但你可以在谷歌上搜索更多。