如何使用Javascript使用基于选择框的数据填充文本字段?

时间:2009-09-21 22:14:00

标签: javascript

我知道很多PHP,但对Javascript知之甚少。

基本上,我想要的是:

如果用户从HTML表单选择框中选择项目x,则项目x的描述性文本将自动填充其下方的HTML表单输入文本框。

是否有人有可以使用或编辑的工作样本,以便能够做我需要的工作?

3 个答案:

答案 0 :(得分:9)

以下是使用无库的纯JavaScript中的工作副本:

<script type="text/javascript">
    // Pre populated array of data
    var myData = new Array();
    myData[1] = 'Some text';
    myData[2] = 'Some other text';
</script>     
<form id="example" name="example">
        <select id="selector" name="selector">
            <option value="" selected></option>
            <option value=1>One</option>
            <option value=2>Two</option>
        </select>
        <br />
        <input type="text" value="" id="populateme" name="populateme" />
    </form>

    <script type="text/javascript">
        document.example.selector.onchange = updateText;

        function updateText() {
          var obj_sel = document.example.selector;
          document.example.populateme.value = myData[obj_sel.value];
    }
    </script>

答案 1 :(得分:2)

基于http://w3schools.com/js/tryit.asp?filename=tryjs_putmore

的示例
<html>
<head>
<script type="text/javascript">
function moveNumbers()
{
var no=document.getElementById("no");
var option=no.options[no.selectedIndex].text;
document.getElementById("result").value=option;
}
</script>
</head>

<body>
<form>
Select numbers:<br />
<select id="no" onchange="moveNumbers()">
    <option>0</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
</select>
<input type="text" id="result" size="20">
</form>
</body>

有关详细信息,请参阅http://w3schools.com/htmldom/dom_obj_select.asphttp://w3schools.com/htmldom/dom_events.asp

答案 2 :(得分:1)

如果输入框有id:

,这将有所帮助
<input type="text" id="someinput" value="" />

然后你需要在选择框上有一个事件监听器。

<select id="someselect">...</select>

在javascript中:

document.getElementById('someselect').onchanged = function() {
var selem = document.getElementById('someselect'); 
document.getElementById('someinput').value = selem.options[selem.selectedIndex].value;
}

这是一个非常粗略的想法。