在更改另一个选择时获取所选选项的文本

时间:2013-06-17 21:05:04

标签: jquery html-select

如果你看到这个例子:http://jsfiddle.net/UTjbm/1/

我想要它,以便在更改第二个选择标记时,会出现一个警告,其中包含第一个选择选项文本。

到目前为止我所研究的内容,我希望这会起作用,但唉,事实并非如此。我正在使用jquery。

我的jsfiddle代码:

<select id="select_a">
  <option value='1'>woot1</option>
  <option value='2'>woot2</option>
  <option value='3'>woot3</option>
  <option value='4'>woot4</option>
</select>
<select id="select_b">
  <option value='1'>notwoot1</option>
  <option value='2'>notwoot2</option>
  <option value='3'>notwoot3</option>
  <option value='4'>notwoot4</option>
</select>

使用Javascript:

$("#select_b").change(function (){
  alert($("#select_a").options[$("#select_a").selectedIndex].text);
})

2 个答案:

答案 0 :(得分:7)

$(&#34; #select_a&#34;) jQuery对象

您尝试像DOM元素一样访问它。尝试使用此语法

alert($("#select_a")[0].options[$("#select_a")[0].selectedIndex].text);

.options是可用于DOM对象的属性..

因此,当您尝试将其应用于jQuery对象时,会抛出语法错误。

要将jQuery对象转换为DOM object,您可以执行

$("#select_a")[0] $("#select_a").get(0)然后在其上应用相应的DOM方法。

或者简单地使用纯jQuery就可以做到这一点

$("#select_a option:selected").text()

<强> Check Fiddle

答案 1 :(得分:4)

你在一个错误的jQuery对象上调用.options

你可以这样做 -

$("#select_b").change(function (){
  alert($("#select_a option:selected").text());
});

演示---> http://jsfiddle.net/UTjbm/6/