javascript - 当复选框名称来自php中的数据库时,如何访问多个复选框名称

标签 javascript php jquery mysql checkbox

下面的代码显示了数据库中的一些数据,这里的每一行都有一个复选框,其名称为数据库中的primaryid。当用户单击少于5个复选框时,会出现一条警报,显示所有代码正在运行。但是

在这里,我希望当用户单击 5 个复选框时,我想要选择 5 个复选框的唯一名称,然后单击提交按钮,我想使用这 5 个唯一 id 执行一些 php 代码。

$sql="some sql";
$result = mysqli_query($mysql,$sql);

while($res1=mysqli_fetch_array($result,MYSQLI_ASSOC)) {


                    ?>
                                <tr>

                                <td>

                                <input type="checkbox" name="studentid"  value="<?php echo $res1['leadID']?>" ></td>


                <td>some stuff here </td>
                              </tr>
                    <?php }
                                ?>     

<input type="submit" name="submit" value="Submit" class="btn newcol1" id="submit2"  onClick="checkboxes();">


                 <script>
     function checkboxes()
      {

       var inputElems = document.getElementsByTagName("input"),
        count = 0;

        for (var i=0; i<inputElems.length; i++) {       
           if (inputElems[i].type == "checkbox" && inputElems[i].checked == true){
              count++;

           }

        }
        if(count < 5){
                  alert ("Select at least 5 leads");
                  }




  } </script>

最佳答案

不确定这是否正是您想要的,但在这里我已经做到了,因此 checkboxes() 函数将所有唯一 ID 添加到数组中,然后如果单击了超过 5 个复选框,则将它们 POST 到当前页面您可以在 PHP 中访问 ID。

function checkboxes(){
    var inputElems = document.getElementsByTagName("input"),
    count = 0;

    var ids = []
    for (var i=0; i<inputElems.length; i++) {       
        if (inputElems[i].type == "checkbox" && inputElems[i].checked == true){
            ids.push(inputElems[i].getAttribute("value"));
            count++;
        }
    }

    if(count < 5){
        alert ("Select at least 5 leads");
    }
    else{
        //more than 5 checkboxes selected
        post(window.location.href, {ids: ids});
    }
}

function post(path, params, method) {
    method = method || "post"; // Set method to post by default if not specified.

    // The rest of this code assumes you are not using a library.
    // It can be made less wordy if you use one.
    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);

    for(var key in params) {
        if(params.hasOwnProperty(key)) {
            var hiddenField = document.createElement("input");
            hiddenField.setAttribute("type", "hidden");
            hiddenField.setAttribute("name", key);
            hiddenField.setAttribute("value", params[key]);

            form.appendChild(hiddenField);
         }
    }

    document.body.appendChild(form);
    form.submit();
}

关于javascript - 当复选框名称来自php中的数据库时,如何访问多个复选框名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33945205/

相关文章:

javascript - asp.net json 显示奇怪的结果

javascript - @JavascriptInterface 无法解析

php - 从具有关系的表中检索帖子标签

javascript - 这两个命令有什么区别?

php - 如何将错误消息从一个 php 文件检索到另一个 php 文件?

javascript - 如何使用 CORS 限制 AWS S3 访问?

php - 为什么插入查询结果不显示在数据库中?

根据链接显示数据的 PHP 数组 - 跟进

javascript - 带有实时数据的传单弹出窗口

javascript - 使用 Jasmine 测试 AngularJS Controller