我有一个选择标记中的数据发回到我的脚本。我在POST数组中有键,但需要相应的值。如何在不查询数据库的情况下获取它?如何获得选择的值
<option value="1">My Value</option>
我有一个选择标记中的数据发回到我的脚本。我在POST数组中有键,但需要相应的值。如何在不查询数据库的情况下获取它?如何获得选择的值
<option value="1">My Value</option>
你不能 - 或者,如果你wan't避免接触数据库,会是这样的:
<option value="1|My Value">My Value</option>
而在你recieving脚本:
$values = explode("|", $_POST["yourselect"]);
var_dump($values);
我会建议你以相反的方式去解决这个问题。这是在后端创建列表并将其调用到其HTML对应项。这样你就可以拥有价值和相应的关键。另外,如果你的列表很小(否则会有点杂乱),你可以简单地检查一下数值是什么,并手动在你的逻辑中分配相应的键值。
我注意到你提到你已经有两个值。什么阻止你将密钥与其值相匹配?
当您发布表单时,接收程序将收到每个字段的value
属性的内容。因此,在您引用的示例中,您将收到1
。
如果你真的想收到My Value
(或至少把它随手将手),那么就打开了许多选项,您:
它包括在value
属性,因此它被贴。例如<option value='1:My Value'>
。然后,您可以从接收程序中的文本值中拆分数字值。这将工作得很好,尽管这样做的缺点是你现在向表单文章增加了额外的开销(尽管不是很多)。
将选项数组存储在会话中。然后整个数组可以在任何时候访问,而无需从数据库重新加载。这样做的缺点是,你最终会因为大量的任意数据而无法到达会话而使会话混乱。
刚刚从数据库中获取并停止担心;如果您使用的是体面的数据库,那么当您填充投递箱时,它将缓存来自上一页加载的值,因此它不是一个很大的开销。实际上,除非你有一个非常大的性能问题,否则我会建议这是一条路。要做到这一点
的一种方式,第一个阵列,第二目标:
<select name="">
<option value="[0,1,2,3]">Option one</option>
<option value="{foo:'bar',one:'two'}">Option two</option>
</select>
什么你需要价值? – 2011-02-14 13:30:08