我有一个生成的复选框
<?php
$days = array(
'Sat' => 'Saturday',
'Sun' => 'Sunday',
'Mon' => 'Monday',
'Tue' => 'Tuesday',
'Wed' => 'Wednesday',
'Thu' => 'Thursday',
'Fri' => 'Friday'
);
?>
<ul>
<?php
foreach ($days as $value) {
?>
<input class="days" type="checkbox" name="days[]" value="<?= $value; ?>" /> <?= $value; ?><br>
<?php
}
?>
</ul>
我希望使用Jquery
获取所选值我试过很多方法,但它不起作用 ......谢谢你
答案 0 :(得分:0)
如果您希望获得&#34;密钥&#34;那么您的PHP脚本就会出现问题。在复选框的name属性中,您必须编写此php脚本:
$days = array(
'Sat' => 'Saturday',
'Sun' => 'Sunday',
'Mon' => 'Monday',
'Tue' => 'Tuesday',
'Wed' => 'Wednesday',
'Thu' => 'Thursday',
'Fri' => 'Friday'
);
?>
<ul>
<?php
foreach ($days as $key => $value)
{
echo '<input class="days" type="checkbox" name="'.$key.'" value="'.$value.'">'.$value.'<br>';
}
?>
</ul>
在您的php脚本中,结果为:<input class="days" type="checkbox" name="days[]" value="Sunday" /> Sunday<br>
我不知道您为什么要使用JQuery来检查选中的复选框,这可以使用以下JavaScript轻松完成:
函数getCheckedValues()返回一个包含所有已检查复选框值的数组。
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<meta charset="utf-8">
</head>
<body>
<input class="days" type="checkbox" name="Sat" value="Saturday">Saturday<br>
<input class="days" type="checkbox" name="Sun" value="Sunday">Sunday<br>
<input class="days" type="checkbox" name="Mon" value="Monday">Monday<br>
<input class="days" type="checkbox" name="Tue" value="Tuesday">Tuesday<br>
<input class="days" type="checkbox" name="Wed" value="Wednesday">Wednesday<br>
<input class="days" type="checkbox" name="Thu" value="Thursday">Thursday<br>
<input class="days" type="checkbox" name="Fri" value="Friday">Friday<br>
<script>
var daysCheckBoxs = document.getElementsByClassName("days");
function getCheckedValues()
{
var checked = new Array();
for (var i = 0; i < daysCheckBoxs.length; i++)
{
if (daysCheckBoxs[i].checked)
{
checked.push(daysCheckBoxs[i].value); // If you would like to get the name you can do the following instand daysCheckBoxs[i].name
}
}
return checked;
}
</script>
</body>
</html>
答案 1 :(得分:0)
Joseph Vigdorovich
非常感谢你 我试过了,它的确有效。
但我遇到了问题 当我将它传递给php文件时,只传递最后一个选项。 所以我尝试了这个,它也适用于我
var selected ='';
$("input:checkbox:checked").each(function(){
selected += $(this).val()+'-';
});