我有一个html 代码,如下所示。以下 html 代码显示复选框列表,如代码下方的屏幕截图所示。 <?php $output['toggle_multi_tiles']=$_POST['toggle_multi_tiles']; $output['episode_status']=$_POST['episode_status']; $fp = fopen('../feeds/ptp-ess_landing.json', 'w'); fwrite($fp, json_encode($output)); fclose($fp); logActivity(); if(file_exists('../feeds/ptp-ess_landing.json')){ $data = json_decode(file_get_contents('../feeds/ptp-ess_landing.json')); } ?> <?php if($data){ ?> <fieldset style="background-color:darkseagreen;"> <input type="checkbox" id="ptp" value="0" name="toggle_multi_tiles[]" <?php if($data->{"toggle_multi_tiles[]"}==0){echo 'checked';}?>> <label for="toggle-multi-off">PTP</label> <input type="checkbox" id="l'e" value="1" name="toggle_multi_tiles[]" <?php if($data->{"toggle_multi_tiles[]"}==1){echo 'checked';}?>> <label for="position-one">L'E</label> <div> <button type="submit">Save</button> //Line A </div> </fieldset><?php } ?>从上面的屏幕截图中选择前 2 个复选框后,点击 A 行的保存按钮,所有内容都保存在 JSON 中,如下所示:{"toggle_multi_tiles":["0","1"]}问题陈述:我现在遇到的问题是在保存了 2 个复选框之后,页面刷新时显示的唯一复选框是第一个(不是两个)。($data->{"toggle_multi_tiles[]"}==0) 从 html 代码读取 JSON。($data->{"toggle_multi_tiles[]"}==1) 从 html 代码读取 JSON。
1 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
对象中的关键是toggle_multi_tiles,不是toggle_multi_tiles[],$data->{"toggle_multi_tiles[]"}应该是$data->toggle_multi_tiles。
这个属性的值是一个字符串数组,可以in_array()用来测试里面是否有一个值。
<input type="checkbox" id="ptp" value="0" name="toggle_multi_tiles[]" <?php if(in_array("0", $data->toggle_multi_tiles)){echo
'checked';}?>>
<label for="toggle-multi-off">PTP</label>
<input type="checkbox" id="l'e" value="1" name="toggle_multi_tiles[]" <?php if(in_array("1", $data->toggle_multi_tiles)){echo
'checked';}?>>
- 1 回答
- 0 关注
- 233 浏览
添加回答
举报
0/150
提交
取消