2012-10-27 61 views
5


我正在尝试编写允许根据文本框的输入值填充选择列表的代码。

例如:
如果用户在文本框中输入牛奶,则选择列表将包含"full fat", "Skimmed", "1% Milk"

我一直在线,无法找到任何关于如何操作的信息。我设法自动填充一个选择列表基于从前一个使用jQuery的选择。但是,我无法找到使用文本框的解决方案。
感谢您检查我的问题!jQuery填充根据文本输入的值选择列表

回答

6

创建一个包含选项数组对象:

selectOptions = { 
    milk: ["full fat", "Skimmed", "1% Milk"] 
} 

在此基础上,可以追加<option>标签的<select>onchange事件<textarea>火灾:

$('textarea').change(function() { 
    if(selectOptions[$(this).val()]) { // does the selectOptions object have an entry for the value of the textarea? 
     $.each(selectOptions[$(this).val()], function() { // for each array item do 
      $('select').append('<option>' + this + '</option>'); // append an option tag for the array item 
     }); 
    } 
}); 
+0

感谢您的帮助。我试过了,但它似乎不起作用。认为我在某个地方出错了。如果我在文本框中输入牛奶,选择列表中将填充“全脂”,“脱脂”,“1%牛奶”? – user1779796

+0

如果您取消选择文本框,则onchange事件会触发..您还可以使用onkeyup,这会在每次按键时触发。 –

+0

对不起..我没有测试过我写的代码;)我更新了它,现在它工作..看看这里的测试用例:http://jsfiddle.net/xeVBm/4/ –

相关问题