4

我有一个表单input字段,当用户键入“文本 2”时,我希望在表单中选择“文本 2” select

<select id="formsel">
    <option value="text 1">text 1</option>
    <option value="text 3">text 2</option>
    <option value="text 3">text 3</option>
</select>
<input type='text' id='input' />

我从input这样的地方得到价值:

var input_val = document.getElementById('input').value; 

但我无法从动态表单select中选择选项

document.form.formsel.value = input_val;

谁能看到我做错了什么?

4

4 回答 4

3

您的代码没有显示form您正在尝试使用 访问document.form,所以我假设没有表单。尝试select通过其 id 访问。这似乎对我有用:

<script>
document.getElementById('input').onkeyup = function()
{
    var input_val = document.getElementById('input').value;
    document.getElementById('formsel').value = input_val;
}
</script>
于 2012-11-01T15:52:33.727 回答
1

根据您的评论,您似乎正在使用 jQuery(如果是这种情况,您应该使用 jQuery 标记所有问题)。

这应该让你得到你想要的

var selectedText = $("#formsel option:selected").text()
于 2012-11-01T15:55:02.777 回答
0

看起来你可能有错字。

<option value="text 3">text 2</option>

应该:

<option value="text 2">text 2</option>
于 2012-11-01T15:48:00.207 回答
0

试试这个:

var nodes = document.getElementById('formsel'),
    txt = document.getElementById('input').value, node;

for ( var i = nodes.length; i--; ) {

    node = nodes[i];

    if ( txt === nodes[i].value ) {

        node.selected = true; break;

    }

}
于 2012-11-01T15:56:21.963 回答