Javascript 动态检查数组中的复选框
varchar mysql字段1,3,6中的给定数据 我有7个复选框用于星期一星期二星期三星期四星期五星期六 我已存储了需要检查的日期,但我希望显示所有未选中和已选中的框 因此,对于我的示例,输出将是SUN(checked)MON-TUE(checked)WED-THU-FRI(checked)SAT 这7个单词代表复选框。假设数据是varchar mysql字段1,3,6 我的代码部分有效,因为它只显示需要检查的第一天,而不显示其他日期。但是,它会显示未选中的复选框,这很好 这是我的密码: 顺便说一句,如果格式很奇怪,很抱歉!我是新来的Javascript 动态检查数组中的复选框,javascript,php,html,date,Javascript,Php,Html,Date,varchar mysql字段1,3,6中的给定数据 我有7个复选框用于星期一星期二星期三星期四星期五星期六 我已存储了需要检查的日期,但我希望显示所有未选中和已选中的框 因此,对于我的示例,输出将是SUN(checked)MON-TUE(checked)WED-THU-FRI(checked)SAT 这7个单词代表复选框。假设数据是varchar mysql字段1,3,6 我的代码部分有效,因为它只显示需要检查的第一天,而不显示其他日期。但是,它会显示未选中的复选框,这很好 这是我的密码: 顺
<? php
$RecurringDays = explode(",", $recur['weekday']);
for ($i = 1; $i <= count($RecurringDays) - 1; $i++) {
if ($RecurringDays[$i - 1] == "1") {
echo "<td><input type='checkbox' name='0' id='0' checked='checked' />";
echo "<label for='0'>Sun </label></td>";
continue;
} else {
echo "<td><input type='checkbox' name='0' id='0' />";
echo "<label for='0'>Sun </label></td>";
}
if ($RecurringDays[$i - 1] == "2") {
echo "<td><input type='checkbox' name='1' id='1' checked='checked' />";
echo "<label for='0'>Mon </label></td>";
continue;
} else {
echo "<td><input type='checkbox' name='1' id='1' />";
echo "<label for='0'>Mon </label></td>";
}
if ($RecurringDays[$i - 1] == "3") {
echo "<td><input type='checkbox' name='2' id='2' checked='checked' />";
echo "<label for='0'>Tue </label></td>";
continue;
} else {
echo "<td><input type='checkbox' name='2' id='2' />";
echo "<label for='0'>Tue </label></td>";
}
if ($RecurringDays[$i - 1] == "4") {
echo "<td><input type='checkbox' name='3' id='3' checked='checked' />";
echo "<label for='0'>Wed </label></td>";
continue;
} else {
echo "<td><input type='checkbox' name='3' id='3' />";
echo "<label for='0'>Wed </label></td>";
}
根据您的代码,您的代码将只回显varchar中的日期(因为它们在for循环中)。我建议进行以下编辑
<?php
//The days in the database
//$recurringDays = explode(",", $recur['weekday']); //expected an array(1,3,6)
$recurringDays = array(1,3,6) ;
//The days in a the week
$days = array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
for($i = 1; $i < 7; $i++ ){
if(in_array($i,$recurringDays)){
echo "<td><input type='checkbox' name='0' id='".$i."' checked='checked' />";
} else {
echo "<td><input type='checkbox' name='0' id='".$i."' />";
}
echo "<label for='".$i."'>".$days[$i]." </label></td>";
}
如果复选框和未选中框的区别只是“checked”属性,那么最好删除所有“ifs”并执行如下操作:和。。。为什么不使用数组并循环遍历它,而不是对每个值进行硬编码$ar=array('0'=>'Sun','1'=>'Mon'…)然后foreach($ar as$id=>$day)…好的,我有一个数组,我在数组中循环,我已经做了,我必须修复一些错误,但下面是工作代码//数据库中的天数$recurringDays=explode(“,,$recur['weekday]”)//需要一个数组(1,3,6)//一周中的天数$dayss=数组(“Sun”、“Mon”、“Tue”、“Wed”、“Thu”、“Fri”、“Sat”);对于($i=0;$i)