<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/');
?>
我希望使用jQuery检查所有复选框的ID;复选框可以是n
个数字。我想在数据库中插入选中的复选框值,其中记录数将取决于选中复选框的数量。这将使用PHP作为服务器端脚本。
我该如何解决?
答案 0 :(得分:3)
尝试以下,
$(':checkbox[name="checkMr[]"]:checked') //returns you the list of selected checkbox
那么你可以,
var selectedID = [];
$(':checkbox[name="checkMr[]"]:checked').each (function () {
selectedID.push(this.id);
});
答案 1 :(得分:1)
由于多种原因,您的文档无效。跳过明显的(缺少doctype / <body>
/ etc),id属性可能不以数字开头; id="1"
无效。您必须使用id="check-1"
之类的非数字前缀,或将ID指定为复选框的value
。
修复此问题后,您可以使用以下内容查找所有选中的复选框,并检索其值(或您选择使用的属性)。
$("input:checked").map(function () { return $(this).val(); });
答案 2 :(得分:1)
$("#savedoctorschedule").click(function(e){
e.preventDefault();
var sList = "";
$('input[name="checkMr[]"]').each(function () {
if(this.checked){
sList += "(" + $(this).attr('id') + ")";
}
});
alert(sList);
}
);
请找到FIDDLE
答案 3 :(得分:0)
ID不能以数字开头。一旦您更新了ID,请使用attr(&#39; value&#39;)或.val()来检索与输入相关联的值。