php - Foreach 复制复选框输入表单
问题描述
我没有在全职和承包商框中打勾的 2 个输入,而是有 4 个输入,如下所示。我怎样才能避免输入的重复,并且最终只有两个输入才会勾选全职和承包商的框?
这是代码:
<?php
$jobEmploymentType = "FULL_TIME,CONTRACTOR";
$jobEmploymentTypeExplode = (explode(",",$jobEmploymentType));
//print_r($jobEmploymentTypeExplode);
foreach ($jobEmploymentTypeExplode as $jobType) : ?>
<span class="asterisk">*</span> <label for="jobEmploymentType">Employment Type</label><br>
<input type="checkbox" class="w3-check" id="fullTime" name="fullTime" value="FULL_TIME" <?= ($jobType == "FULL_TIME")? "checked":"";?>>
<label for="fullTime"> FULL-TIME</label><br>
<input type="checkbox" class="w3-check" id="contractor" name="contractor" value="CONTRACTOR" <?= ($jobType == "CONTRACTOR")? "checked":"";?>>
<label for="contractor"> CONTRACTOR</label><br>
<?php endforeach; ?>
预期结果:
解决方案
我找到了一种使用 in_array 对我有用的方法:
PHP代码:
$jobTypeExplode = (explode(",",$jobEmploymentType));
if(in_array('FULL_TIME',$jobTypeExplode)) {$fulltime = 'FULL_TIME';}
if (in_array('CONTRACTOR',$jobTypeExplode)) {$contractor = 'CONTRACTOR';}
HTML 代码:
<input type="checkbox" class="w3-check" id="fullTime" name="fullTime" value="FULL_TIME" <?= ($fulltime == "FULL_TIME")? "checked":"";?>>
<label for="fullTime"> FULL-TIME</label><br>
<input type="checkbox" class="w3-check" id="contractor" name="contractor" value="CONTRACTOR" <?= ($contractor == "CONTRACTOR")? "checked":"";?>>
<label for="contractor"> CONTRACTOR</label><br>
推荐阅读
- php - 无法从 jquery 数据刷新表的表结果的按钮上运行 jquery 函数
- cocoa - NSClipView bounds - 找出滚动位置的问题
- javascript - AudioBufferSourceNode.start() 仅在以偏移量启动时在 Safari 上失败
- php - [Route: editor.post] 缺少必需的参数
- azure-cosmosdb - CosmosDB 中相互熟人推荐的分区键
- python - 如何从一列计算相邻两行的总和?
- matlab - matlab中的结构变量通过for循环重叠
- javascript - 为项目使用“基础”存储库?
- javascript - 无法将浏览器区域设置日期字符串解析为日期
- react-native - 如果 Xcode 项目中没有 Libraries 文件夹,如何手动链接 PushNotificationIOS?