我想这样做,你可以选择你的可用时间,星期一到星期日,从xx:00到xx:00。
对于HTML我做了一个for循环,输出工作日复选框和两个时间选项,如下所示: jsfiddle.net/Sbcbg
来源:
$weekDays = array('Måndag', 'Tisdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lördag', 'Söndag');
echo '<table cellspacing="0" cellpadding="0" width="300">';
for($i=0; $i<count($weekDays); $i++){
echo '<tr><td>';
echo '<input type="checkbox" name="day'.$i.'">'.$weekDays[$i].'</option>';
echo '</td><td>';
echo '<select>';
for($f=23; $f>18; $f--){
echo ' <option name="from'.$i.'" select="">'.$f.':00</option> ';
}
echo '</select>';
echo ' till ';
echo '<select>';
for($t=0; $t<10; $t++){
echo ' <option name="from'.$i.'" select="">'.$t.':00</option> ';
}
echo '</select>';
echo '</td></tr>';
}
echo '</table>';
我怎么知道保存部分是什么?
如何检查是否检查了一个工作日,如果是,则取两个选项值(两次)并输出它们?
因此,如果您检查Tisdag(星期二)并选择时间22:00,而在另一个中选择时间04:00,那么当您提交表单时,它应该输出您在星期二22:00-04:00检查过的时间。
先谢谢
答案 0 :(得分:1)
这里似乎有一些不匹配的标签。例如:
'<input type="checkbox" name="day'.$i.'">'.$weekDays[$i].'</option>'
您正在关闭一个永不打开的选项。
我想你想要一个复选框来表明这一天是有一些可用性的日子。我建议将其更改为:
'<label for="day'.$i.'"><input type="checkbox" name="day'.$i.'" value="1"/>'.$weekDays[$i].'</label>'
然后,对于您的选择,您需要定义选择的名称和选项的值。该名称将成为$_POST
数组中的索引,该值将是用户所选option
的值。
如:
echo '<select name="from'.$i.'">';
for($f=23; $f>18; $f--){
echo ' <option value="'.$f.':00">'.$f.':00</option> ';
}
echo '</select>';
然后你的提交检查看起来像:
for($i = 0; $i< 7; $i++) {
if(isset($_POST['day'.$i]) && ($_POST['day'.$i] == 1) {
$from = $_POST['from'.$i];
$to = $_POST['to'.$i];
//do something with this data
}
}