当用户从下拉列表中选择一个值时,他们只会看到option 标记之间的内容;所以对于第二个值,25-29 将被显示。根据您的代码,这对应的值为1275。如果这是您需要在文本框中填充的值,您可以使用 Javascript:
<select name="age" id="age" onChange=PopulateField(this.value);>
...
并且在文档的头部:
<script type="text/javascript" language="javascript">
function PopulateField(numValue)
{
document.getElementById('planA').value = numValue;
}
</script>
当然要意识到,如果在用户的浏览器上禁用了 Javascript,这将不起作用。提交表单后,您当然仍然可以通过使用age 变量来获取值;它的值已经设置为数组中的元素。 (我假设文本框仅用于用户反馈。)
现在,如果表单已经提交,并且您想在文本字段中显示提交结果,那么您需要做的就是更改您的 PHP 代码以反映所选值:
<input name="planA" type="text" id="planA" value="<?php echo $_POST['age']; ?>" size="10" />
如果您的表单使用 GET 而不是 POST,请将 $_POST 相应地更改为 $_GET。
编辑(每 cmets):
如果您要填充多个文本框,这取决于您是否只有一个下拉菜单来触发它们,或者是否有多个下拉菜单。我假设您有另一个下拉菜单来填充另一个文本框。在这种情况下,您可以像这样使用第二个 javascript 函数:
<script type="text/javascript" language="javascript">
function PopulateFieldA(numValue)
{
document.getElementById('planA').value = numValue;
}
function PopulateFieldB(numValue)
{
document.getElementById('planB').value = numValue;
}
</script>
在与计划 B 的文本字段关联的下拉菜单中,使用适当的 onChange 事件:
<select name="ageB" id="ageB" onChange=PopulateFieldB(this.value);>
您可以将多个参数传递给一个函数,以便填充多个框:
function PopulateFields(numValueA, numValueB)
{
document.getElementById('planA').value = numValueA;
document.getElementById('planB').value = numValueB;
}
其他任何事情都只是我的猜测,因为我并不真正了解您的应用程序的细节。希望这有助于您走上正确的道路。