在文本字段中显示下拉列表的选定值(javascript)

时间:2012-05-09 16:34:24

标签: javascript forms drop-down-menu

例如: 这些是下拉列表中的项目。

<select name="cmbitems" id="cmbitems">
    <option value="price1">blue</option>
    <option value="price2">green</option>
    <option value="price3">red</option>
</select>

当用户选择蓝色时,我想在下面的文本字段中显示price1的值:

<input type="text" name="txtprice" id="txtprice" onClick="checkPrice()">

感谢您的回答

4 个答案:

答案 0 :(得分:5)

您需要做的就是在select.onchange事件处理程序中将输入值设置为select的值。

var select = document.getElementById('cmbitems');
var input = document.getElementById('txtprice');
select.onchange = function() {
    input.value = select.value;
}

Here是jsFiddle演示

的链接

答案 1 :(得分:0)

如果您使用jquery,请使用

$('select.foo option:selected').val();    // get the value from a dropdown select

更新(我忘了包含<input>人口)

首先,在你的html文件中包含jquery。

<header>中包含它:

<header>
<script type="text/javascript" src="YOUR_PATH_TO_LIBRARY/jquery-1.7.1-min.js"></script>
</header>

然后

<input type="text" name="txtprice" id="txtprice" onClick="javascript:$('select.foo option:selected').val();">

答案 2 :(得分:0)

这是查找当前所选选项,检查其值并使用其显示文本更新输入的强力方式。就像Daniele建议的那样,如果你有jquery可供你使用,这会变得更容易。但是如果你出于任何原因不能使用JS框架,那么这应该可以满足你的需求。

<select name="cmbitems" id="cmbitems" onchange="updateTextField()">
 ...
</select>
<input type="text" ..... />

<script type="text/javascript">
function updateTextField()
{
    var select = document.getElementById("cmbitems");
    var option = select.options[select.selectedIndex];
    if (option.id == "price1")
    {
        document.getElementById("txtprice").value = option.text;
    }
}
</script>

答案 3 :(得分:0)

$.on('change', '#cmbitems', function() {
    $('#txtprice').val($('#cmbitems option:selected').val());
});