Jquery 在更改另一个选项时获取选定选项的文本

Jquery 在更改另一个选项时获取选定选项的文本,jquery,html-select,Jquery,Html Select,如果您看到此示例: 我希望这样,当第二个select标记更改时,无论第一个selects选项文本是什么,都会显示一个警报 根据我迄今为止的研究,我希望这能奏效,但遗憾的是,事实并非如此。我正在使用jquery 我的JSFIDLE代码: <select id="select_a"> <option value='1'>woot1</option> <option value='2'>woot2</option> <opt

如果您看到此示例:

我希望这样,当第二个select标记更改时,无论第一个selects选项文本是什么,都会显示一个警报

根据我迄今为止的研究,我希望这能奏效,但遗憾的是,事实并非如此。我正在使用jquery

我的JSFIDLE代码:

<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>
您正在对jQuery对象调用.options,这是错误的

你可以这样做-

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

您正在调用jQuery对象上的选项,这是错误的

你可以这样做-

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

$select\u是一个jQuery对象

您正试图像访问DOM元素一样访问它。。试试这个语法

alert($("#select_a")[0].options[$("#select_a")[0].selectedIndex].text);
.options是可用于DOM对象的属性

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

要将jQuery对象转换为DOM对象,可以执行以下操作

$select_a[0]或$select_a.get0,然后对其应用相应的DOM方法

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

$("#select_a option:selected").text()
$select_a是一个jQuery对象

您正试图像访问DOM元素一样访问它。。试试这个语法

alert($("#select_a")[0].options[$("#select_a")[0].selectedIndex].text);
.options是可用于DOM对象的属性

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

要将jQuery对象转换为DOM对象,可以执行以下操作

$select_a[0]或$select_a.get0,然后对其应用相应的DOM方法

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

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

@诺布雷克舍尔顿干杯@诺布雷克舍尔顿干杯!谢谢你,伙计。我会接受pXL的答案,只是因为它快了7秒。不过,非常感谢。非常感谢,伙计。我会接受pXL的答案,只是因为它快了7秒。不过,非常感谢。