Php 如何使用jQuery获取按钮单击时所有选中复选框的ID

Php 如何使用jQuery获取按钮单击时所有选中复选框的ID,php,jquery,html,Php,Jquery,Html,我想要使用jQuery检查复选框的所有ID;复选框可以是n个数字。我想在数据库中插入复选框的值,其中记录的数量取决于复选框的数量。这将使用PHP作为服务器端脚本 如何修复它?您的文档因以下几个原因无效。跳过明显缺少的doctype//etc,id属性不能以数字开头;id=1无效。您必须使用非数字前缀,如id=check-1或将id指定为复选框的值 修复此问题后,您可以使用以下命令查找所有选中的复选框,并检索其值或选择使用的任何属性 <html> <input typ

我想要使用jQuery检查复选框的所有ID;复选框可以是n个数字。我想在数据库中插入复选框的值,其中记录的数量取决于复选框的数量。这将使用PHP作为服务器端脚本


如何修复它?

您的文档因以下几个原因无效。跳过明显缺少的doctype//etc,id属性不能以数字开头;id=1无效。您必须使用非数字前缀,如id=check-1或将id指定为复选框的值

修复此问题后,您可以使用以下命令查找所有选中的复选框,并检索其值或选择使用的任何属性

<html>  
    <input type='checkbox' id='1' name='checkMr[]' value='1' />       
    <input type='checkbox' id='2' name='checkMr[]' value='2' />            
    <input type='checkbox' id='3' name='checkMr[]' value='3' />         
    <input type='checkbox' id='4' name='checkMr[]' value='4' />        

    <a id="savedoctorschedule" style="float: right;" class="clyes clbutton clbtnSave">Save</a>       
</html> 

<script>
$j("#savedoctorschedule").bind("click", function () { 
    $j.ajax({
        url: "schedulemr.php",
        type: "post",
        data: { schmrid: $j("#sel_mr").val(), 
        schedocid: $j("#checkMr[]").val(), 
        schedate: $j("#date1").val(), },
        success:function(response){         
        }
</script>

<?php
include '../includes/include.php';
$schmrid = $_POST['sel_mr'];
$schedate = $_POST['date1'];
$schedocid = $_POST['checkMr'];
foreach($schedocid as $a => $b)
{
   $sql="INSERT INTO tbl_mr_schedule(doctor_idscheduled_date) 
   VALUES ('".$schedocid[$a]."','".$schmrid."','0','".$date."','".$schedate."');";
   mysql_query($sql) or die(mysql_error());
}
header('Location:../visitplan/');
?>
试试下面

$("input:checked").map(function () { return $(this).val(); });
那你就可以

$(':checkbox[name="checkMr[]"]:checked') //returns you the list of selected checkbox

Id不能以数字开头。更新id的属性后,使用attr'value'或.val检索与输入关联的值

var selectedID = [];
$(':checkbox[name="checkMr[]"]:checked').each (function () {
    selectedID.push(this.id);
});

请查找

此id是根据表的记录id动态分配的。因此它是数字的,不能是数字。这行不通。这就是我要告诉你的。你必须使用另一个属性或添加一个检查前缀,然后去掉它。大多数浏览器将识别数字id值,即使它们在HTML4中是不允许的。HTML5允许他们。这是一个坏习惯,但不太可能破坏任何代码。要解决原始问题,请使用以下代码查询所有选中的元素:$'。输入容器输入:选中';然后使用for循环或jQuery.each函数循环返回的元素并提取所需的数据。
$("#savedoctorschedule").click(function(e){
    e.preventDefault();
    var sList = "";
    $('input[name="checkMr[]"]').each(function () {
        if(this.checked){
            sList += "(" + $(this).attr('id') + ")";
        }
    });
    alert(sList);
    }
);​