如何获取所选项目';JavaScript中的文本?

如何获取所选项目';JavaScript中的文本?,javascript,Javascript,如何在JavaScript中获取所选项目的值和文本 这是我的组合框: <select size="1" id="fTerminalType" name="fTerminalType"> <option value="AP">Airport</option> <option value="PT">Port</option> <option value="BS">Bus</option>

如何在JavaScript中获取所选项目的值和文本

这是我的组合框:

<select  size="1" id="fTerminalType" name="fTerminalType">
    <option value="AP">Airport</option>
    <option value="PT">Port</option>
    <option value="BS">Bus</option>
    <option value="TR">Train</option>
</select>
这里我可以得到combobox的值。但是如何获取所选值的文本?例如,如果值是
“BS”
,我需要文本
“Bus”

上述解释如下:

  • 使用传递的ID字符串获取对select的引用
  • 获取selectedIndex并将其存储在变量中
  • 使用selectedIndex获取所选选项的文本属性

试试看

以下是您想要的:

var terminal = document.getElementById("fTerminalType");
var selectedText = terminal.options[terminal.selectedIndex].text;

那应该可以了。

试试这个,它很管用

    <select id="po" onchange="myFunction()">
  <option value='1'>Apple</option>
  <option>Orange</option>
  <option>Pineapple</option>
  <option>Banana</option>
</select>
<select id="po1" onchange="myFunction()">
  <option value='1'>Apple</option>
  <option>Orange</option>
  <option>Pineapple</option>
  <option>Banana</option>
</select>

<p id="demo">text1</p>
<p id="demo2">text2</p>

 <script>
function myFunction()
{

var x = document.getElementById("po").options[po.selectedIndex].innerHTML;
document.getElementById("demo").innerHTML="You selected 1: " + x;


var x1 = document.getElementById("po1").options[po1.selectedIndex].innerHTML;
document.getElementById("demo2").innerHTML="You selected 2: " + x1;
}
</script>

苹果
橙色
菠萝
香蕉
苹果
橙色
菠萝
香蕉

text1

text2

函数myFunction() { var x=document.getElementById(“po”).options[po.selectedIndex].innerHTML; document.getElementById(“demo”).innerHTML=“您选择了1:+x; var x1=document.getElementById(“po1”).options[po1.selectedIndex].innerHTML; document.getElementById(“demo2”).innerHTML=“您选择了2:”+x1; }
不知道为什么有人给你-1,可能是因为你没有正确清理变量名。不过,对于正确答案的要求似乎有点苛刻。当问题第一次发布时,他将.value作为第2行中的字符串。从那时起,他将其更改为.text.+1以正确使用option元素的text属性:@Alex:“它不工作”不会帮助任何人帮助你。什么不起作用?它以什么方式失败?你是如何测试它的?它在所有浏览器上都失败了吗?或者只是在一些浏览器上失败了?@Alex:看起来你可能已经测试过它了,它说的是“.value”而不是“.text”-如果你尝试编辑过的版本,它应该可以工作。它在IE 6、FF 3.5和Chrome 3:-)上对我起了作用,它获得了所有
元素的html!
var t = document.getElementById("fTerminalType");
var selectedText = t.options[t.selectedIndex].text;
var TerminalType = document.getElementById("fTerminalType").innerHTML;
var terminal = document.getElementById("fTerminalType");
var selectedText = terminal.options[terminal.selectedIndex].text;
    <select id="po" onchange="myFunction()">
  <option value='1'>Apple</option>
  <option>Orange</option>
  <option>Pineapple</option>
  <option>Banana</option>
</select>
<select id="po1" onchange="myFunction()">
  <option value='1'>Apple</option>
  <option>Orange</option>
  <option>Pineapple</option>
  <option>Banana</option>
</select>

<p id="demo">text1</p>
<p id="demo2">text2</p>

 <script>
function myFunction()
{

var x = document.getElementById("po").options[po.selectedIndex].innerHTML;
document.getElementById("demo").innerHTML="You selected 1: " + x;


var x1 = document.getElementById("po1").options[po1.selectedIndex].innerHTML;
document.getElementById("demo2").innerHTML="You selected 2: " + x1;
}
</script>