javascript - 根据从下拉列表中选择的选项为文本字段指定一个值

标签 javascript jquery html

我想做的是给我的文本字段一个基于从下拉列表中选择的选项的值。例如:我有 2 个字段,一个下拉列表和一个文本字段。我从下拉列表中选择 Facebook,值“http://www.facebook.com/”出现在我的文本字段中。我怎样才能达到这个效果?我知道我必须在下拉列表更改时调用函数,但这几乎就是我所知道的一切。请记住,我并不是试图将下拉列表中的确切选定值复制到此处的文本字段。

最佳答案

示例标记

<select>
    <option value="http://www.facebook.com">Facebook</option>
    <option value="http://www.twitter.com">Twitter</option>
</select>

<input type="text" />

jquery

$('select').change(function() {
    $('input[type="text"]').val(this.value);
});

Here's a fiddle

<小时/>

为了回应您的评论,有多种方法可以做到这一点(switch 语句、if/elseif 语句等),最简单的可能是创建一个将 text 映射到相应 url 的对象:

var urlFromText = {
  'Facebook' : 'http://www.facebook.com/',
  'Twitter' : 'http://www.twitter.com/'
};

然后,在您的 change 处理程序中,您可以简单地使用:

$('input[type="text"]').val(urlFromText[$('option:selected', this).text()]);

Here's an example

关于javascript - 根据从下拉列表中选择的选项为文本字段指定一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16539155/

相关文章:

javascript - 单击传单标记会将您带到 URL

javascript - 使用 AngularJS 和 MaterializeCSS 初始化 Accordion

javascript - 将简单数组传递给 Java Spring

javascript - 选择具有共同 Id 的各种不同的类

javascript - Html2Canvas 无法在 Google Chrome 上运行

html - 如何将图像宽度设置为 Bootstrap 列的宽度

javascript - 为什么 element.style.property 不适用于模板字符串?

javascript - 使用带有 Flickity 插件的 Youtube 视频嵌入

Javascript 触发函数两次,4 个函数中的 1 个不起作用

php - 将多个变量从 jquery 传递到 php