获取JAVASCRIPT中的php选中复选框值

获取JAVASCRIPT中的php选中复选框值,javascript,php,post,checkbox,Javascript,Php,Post,Checkbox,我是Javascript新手,我无法解决这个问题。我有一个复选框表单,所以我需要获取所选的值并将其发布到php文件中 以下是脚本: <script> $("#addusers").click(function(){ var checkedValue = null; var inputElements = document.getElementsByClassName('v

我是Javascript新手,我无法解决这个问题。我有一个复选框表单,所以我需要获取所选的值并将其发布到php文件中

以下是脚本:

<script>
                $("#addusers").click(function(){

                    var checkedValue = null;
                    var inputElements = document.getElementsByClassName('values');
                    for(var i=0; inputElements[i]; ++i){
                        if(inputElements[i].checked){
                            checkedValue = inputElements[i].value;
                            break;
                        }
                    }

                    $.post("users_add.php", {
                        checkedValue:checkedValue

                    }, function(data) {
                        alert(data);
                    });
                });
            </script>

$(“#添加用户”)。单击(函数(){
var checkedValue=null;
var inputElements=document.getElementsByClassName('values');
对于(变量i=0;输入元素[i];++i){
if(inputElements[i]。选中){
checkedValue=inputElements[i]。值;
打破
}
}
$.post(“users\u add.php”{
checkedValue:checkedValue
},函数(数据){
警报(数据);
});
});
以下是php代码:

<td>
                                <div>
                                    <?php
                                    foreach($userProfiles as $u)
                                    {
                                        foreach($u as $x)
                                        {
                                            echo "<input type=\"checkbox\" name=\"values\"> $x";
                                            echo "<br>";
                                        }
                                    }
                                    ?>

                                </div>
                            </td>

我正在检查print\r($\u POST)POST变量,但它没有显示任何内容。
我的javascript可以吗?

不要担心对javascript不熟悉,我们都会从某个时候开始。关于你的代码,首先你的“for cycle”是保存第一个值然后跳过,我知道你还没有收到任何东西,但我猜你只能得到一个值。没有发布任何内容的最合理原因是您没有使用正确的选择器。例如:
var-inputElements=document.getElementsByClassName('values')
将检索如下所示的所有html元素:

哦,很抱歉,我刚刚注意到您发布了html代码,因为您已经在使用jQuery,没有必要将其与普通javascript混合使用,下面是我对您的代码的更正:

            var checkedValues = [];
            var inputElements = $('input[type="checkbox"]');
            inputElements.each(function () {
                if($(this).is(':checked')){
                    checkedValues.push($(this).val());
                }
            });                
说明:
var checkedValues=[]
这样,我们就可以在javascript中声明一个数组,这样我们就可以访问数组方法“push”,在元素满足我们的条件时插入它们(选中复选框)

var-inputElements=$('input[type=“checkbox”]”)
这是对DOM元素的jQuery选择,我们说的是“获取所有具有type=checkbox属性的输入元素。您可以在其官方网站了解有关jQuery选择器的更多信息:

这个钻头可以做一些事情
inputElements.each(function(){});

这将在inputElements选择中执行一个函数“for each”。您可以在正式文档中获得有关jQuery的更多信息

if($(this).is(':checked'))

这个if询问循环中的当前元素是否设置了“checked”属性。我们使用$(This)将从原始选择中获得的纯DOM元素转换为jQuery对象,以使用“is”方法

checkedValues.push($(this.val());

在这里,我们添加一个元素的值,该元素具有选中的属性集,不是元素,不是布尔值,而是输入的“VALUE”属性中设置的任何值

任何不清楚或不起作用的内容,请随意询问,并愉快地编码!:)

inputElements.each(function () {
    if($(this).is(':checked')){
        checkedValues.push($(this).val());
    }
});