这里有几个这样的问题,但是我想要做的是遍历每个选项元素并回显它们,到目前为止它只回显所选项目,理想情况下我将循环遍历每个项目。
<?php
if (isset($_POST['submit'])) {
$st_campaigns = $_POST['campaigns'];
foreach ($st_campaigns as $st) {
echo $st;
}
}
?>
<form action="" method="post">
<select name="campaigns[]" id="campaigns[]" size="15" multiple="multiple" style="width:150">
<option>item</option>
<option>item1</option>
<option>item</option>
<option>item</option>
<option>item</option>
<option>item</option>
<option>item</option>
</select>
<input type="submit" name="submit" />
</form>
答案 0 :(得分:3)
仅使用表单数据提交所选项目。如果你想要所有可能的选择项,你需要将它们放在一个数组中,然后你可以使用该数组来填充/生成select字段,并在提交表单后以任何理由循环它们。
答案 1 :(得分:0)
您需要一种解决方法。
在表单中添加一个名为“options”的隐藏字段(例如)
在提交时,使用Javascript循环遍历项目并生成字符串。逗号分隔或JSON可能是更好的选择。因此,无论选择与否,所有选项都将在字符串中。
将隐藏字段(选项)的值更改为JSON字符串
当表单提交时,使用php来读取$_POST['options']
而不是campaigns
,将JSON更改为数组(或根据您选择的内容拆分csv)并转而通过它。
您可以始终匹配所选项目,首先循环campaigns
并创建键值,然后使用php array_key_exists
查看密钥是否存在,或in_array
如果只是将所选项添加到数组中。