【发布时间】:2011-06-22 13:57:43
【问题描述】:
我有一个下拉框,它从数据库中提取值。它只会在下拉框中显示一列。如果我在下拉框中选择一列,它应该在文本框中显示其他值。
我已经在下拉框中显示了值,但我在这里被打动了。如果我在下拉框中选择一个值,则相应的值必须显示在文本框中
例如:汽车 bmw classc 125hp
如果我在下拉框中选择 bmw,我应该在文本框中获得 c 类和 125ho。
【问题讨论】:
标签: php
我有一个下拉框,它从数据库中提取值。它只会在下拉框中显示一列。如果我在下拉框中选择一列,它应该在文本框中显示其他值。
我已经在下拉框中显示了值,但我在这里被打动了。如果我在下拉框中选择一个值,则相应的值必须显示在文本框中
例如:汽车 bmw classc 125hp
如果我在下拉框中选择 bmw,我应该在文本框中获得 c 类和 125ho。
【问题讨论】:
标签: php
您可以将显示值存储在属性中 - 例如数据文本
<select id="car">
<option name="none" data-text="" value="">---</option>
<option name="bmw" data-text="class c" value="bmw">bmw</option>
<option name="ford" data-text="4 door" value="ford">ford</option>
</select>
<input type="text" id="display"/>
您可以按如下方式更新文本字段(如果您使用的是 jquery)
$().ready(function() {
$("#car").bind("change", function() {
$("#display").val($("#car :selected").attr("data-text"))
})
})
我在 -http://jsbin.com/ifefo4 放了一个活生生的例子
【讨论】:
PHP 在服务器端工作,它在客户端请求时处理您的网站,然后将结果页面发送给客户端。例如,您的投递箱在服务器上填充并发送到客户端。
然而,在下拉框中选择一个项目是在客户端的浏览器中完成的。唉,服务器对此一无所知,因此您的 PHP 脚本无法对此做出反应(除非您每次用户更改保管箱项目时都强制刷新站点,这将是一个非常糟糕的概念)。
您需要使用可在客户端运行的脚本类型,JavaScript 在这里最为常见。 JavaScript 可以对下拉框的选择做出反应,并相应地在您的文本字段中填写数据。
但是请注意,客户端的 JavaScript 无法访问任何服务器资源,例如来自数据库的文本。这些资源必须由您的 PHP 脚本插入到 JavaScript 中,以便它们也被发送到客户端。
【讨论】:
您必须在客户端使用 Javascript。
创建一个 javascript 数组,用文本框的值填充。
然后在 Dropbox 的 onchange 方法上,从这个数组中重新加载文本框中的内容。
【讨论】: