从select元素中选择选项

Mat*_*att 94 jquery html-select

我试图从下拉列表中获取所选选项,并使用该文本填充另一个项目,如下所示.IE正在咆哮,它在Firefox中不起作用:

$('#ddlCodes').change(function() {
  $('#txtEntry2').text('#ddlCodes option:selected').text();
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Nic*_*ver 187

这是一个简短的版本:

$('#ddlCodes').change(function() {
  $('#txtEntry2').text($(this).find(":selected").text());
});
Run Code Online (Sandbox Code Playgroud)

karim79很好用,你的元素名称判断txtEntry2可能是一个文本框,如果它是任何一种输入,你需要改为使用.val()或者.text()像这样:

  $('#txtEntry2').val($(this).find(":selected").text());
Run Code Online (Sandbox Code Playgroud)

对于"出了什么问题?" 问题的一部分:.text()不采用选择器,它需要你想要设置的文本,或者没有任何东西可以返回已存在的文本.因此,您需要获取所需的文本,然后将其放在.text(string)要设置的对象的方法中,就像我上面所做的那样.

  • 如果`txtEntry2`是文本输入,OP将需要使用`val()`. (7认同)

Poi*_*nty 15

试试这个:

$('#ddlCodes').change(function() {
  var option = this.options[this.selectedIndex];
  $('#txtEntry2').text($(option).text());
});
Run Code Online (Sandbox Code Playgroud)


Thd*_*hdK 8

这是一个更短的版本,也应该工作:

 $('#ddlCodes').change(function() {
      $('#txtEntry2').text(this.val());
    });
Run Code Online (Sandbox Code Playgroud)