如何分解数组并将块分配给各个复选框字段?

Posted

技术标签:

【中文标题】如何分解数组并将块分配给各个复选框字段?【英文标题】:How to explode array and assign chunks to respective checkbox fields? 【发布时间】:2010-09-06 04:56:50 【问题描述】:

以下情况:我在 mysql 表字段中存储了一个带有 implode 的复选框数组。现在,为了更新复选框,我想读取表格字段内容,将其分解为各个部分并将其分配给相应的复选框。

到目前为止,我设法读出表格字段内容并将其分解为不同的块,我的困难是如何分配给各个复选框。

这里是复选框字段:

<tr>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="Automotive" <?php $appbox_checked ?> /><label class="choice">Automotive</label></td>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="Backlights" <?php $appbox_checked ?> /><label class="choice">Backlights</label></td>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="LED lighting" <?php $appbox_checked ?> /><label class="choice">LED lighting</label></td>
  </tr>
  <tr>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="IR" <?php $appbox_checked ?> /><label class="choice">IR</label></td>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="Signage/Traffic Lights" <?php $appbox_checked ?> /><label class="choice">Signage/Traffic lights</label></td>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="Mobile Devices" <?php $appbox_checked ?> /><label class="choice">Mobile devices</label></td>
  </tr>

这里是php代码:

$storebox = explode(", ", $chunk0);
    for($i = 0; $i < count($storebox); $i++)
    echo "Piece $i = $storebox[$i] <br />";
    

块内容与复选框的值字段匹配。所以我需要的基本上是:

如果“块内容”=“复选框值” 然后&lt;?php $appbox_checked ?&gt; 将回显“已检查”

或者也许有更简单的解决方案。谢谢你们的帮助!

【问题讨论】:

【参考方案1】:

最简单的方法是使用in_array():

你写&lt;?php $appbox_checked ?&gt;的地方,换成这个(例如汽车

 <?php if(in_array('Automotive', $storebox)) echo 'checked="checked"'; ?>

同样,对于所有行。例如对于背光,将其替换为:

 <?php if(in_array('Backlights', $storebox)) echo 'checked="checked"'; ?>

【讨论】:

【参考方案2】:

当您的代码必须呈现“已选中”复选框时,您所要做的就是向您的复选框输入元素添加一个名为已选中的属性,其值为 yes:

<input type="checkbox" checked="yes" name="sports" value="soccer" />

【讨论】:

以上是关于如何分解数组并将块分配给各个复选框字段?的主要内容,如果未能解决你的问题,请参考以下文章

想要获取复选框的值并将其值分配给类名

c#如何获取已检查的datagridview复选框旁边的值?

如何使用 jQuery 获取复选框的值并将它们吐到不同的表单字段中

当复选框分配有 jQuery 时,勾选不再起作用

在 MVC/Razor 中,如何获取多个复选框的值并将它们全部传递给控制器​​?

如何将 Vue.js 2 组件值分配给主实例变量?