我处于一个带有多个复选框的文件的编辑模式现在问题是我有字符串形式的数据并且在for-each之后获取值是1个单个数字或对象我如何比较然后只选中复选框哪个值存在在字符串中
<div class="form-group">
<ul id="id_extras">
<?php
$category = array(
1 => 'Air Conditioning',
2 => 'Alarm/Anti-Theft System',
3 => 'AM/FM Radio',
4 => 'Aux Audio In',
5 => 'Bluetooth System',
6 => 'Body Kit',
7 => 'Brush Guard',
8 => 'Cassette Player',
9 => 'CD Player',
10 => 'Climate Control',
);
var_dump($values['extras']);
//results are string "1,2,3,4,5,7,8"
foreach ($category as $k => $v) {
?>
<li>
<label for="id_extras_<?= $k; ?>">
<input class="multiple-select" id="id_extras_<?= $k; ?>" name="extras[]"
type="checkbox"
value="<?= $k; ?>"
<?php in_array($values['extras'], $k) ? 'checked' : '' ?>> <?= $v; ?>
</label>
</li>
<?php } ?>
<div class="clearfix"></div>
</ul>
</div>
答案 0 :(得分:1)
如果你试图检查匹配的方框,那么你大部分都是正确的:
constructor(
private communicationService: CommunicationService,
) {
communicationService.changeEmitted$.subscribe(data => {
// here fetch data from the session storage
})
}
这将进行确定,并返回一个字符串,但不会打印它。你想要的代码就是:
<?php in_array($values['extras'], $k) ? 'checked' : '' ?>
<?= in_array($k, explode(',', $values['extras'])) ? 'checked' : '' ?>
是<?=
的简写操作符。print
,因为它是逗号分隔的字符串,但我们想将其搜索为数组。extras
参数是:needle,haystack 此处唯一的其他修改是,将属性呈现为in_array()
以符合XHTML可能是明智的。