【发布时间】:2017-08-30 15:33:50
【问题描述】:
我有一个(咖啡)表单,其中包含 60 个 select 标签,每个 select 标签有 16 个 options,其中包含从 0 到 15 的数字。
像这样:
<label><select name="item[0][breakfast_blend]">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
</select>Breakfast Blend</label>
<label><select name="item[1][tea]">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
</select>Tea</label>
还有 60 个这样的选择与其他标签。
现在我正在尝试设置一个条件来检查用户选择了哪些项目,然后获取 option 的值和该 label选择。
所以我创建了一个if 条件来检查所选项目的值,但我不知道如何获取该项目的标签(我的意思是我不知道如何将它包含在循环中)。
这是我在 php 部分的代码:
for ($i = 1; $i <= count($_POST['item']); $i++) {
if (isset($_POST['item'][$i])) {
echo $_POST['item'][$i];
}
}
我的一些朋友告诉我
Foreach功能可以提供帮助,但我仍然不知道如何:/
在循环中包含 标签 的任何帮助??
【问题讨论】:
-
你为什么要把它们都做成 1 个数组?如果你给他们每个人一个唯一的名字,这对你来说会容易得多。
-
标签值不会回传到服务器。您的服务器需要根据 name 属性来理解人类可读的描述应该是什么。要么你必须对其进行硬编码,要么你可以使用某种查找表。
-
@GrumpyCrouton 那么我应该如何在循环中使用它? @_@
-
foreach($_POST as $value) -
@ADyson 我只是添加了一个简单但重要的代码部分,我已经将它发布到服务器并且它工作正常