使用jQuery,我需要从下拉菜单中选择从更改事件中捕获正确的变量

时间:2015-08-20 17:57:52

标签: javascript select jquery-mobile

我需要捕获从id

中选择的文本变量
<select name="city" id="selectedCity" data-native-menu="false" onchange="location = this.options[this.selectedIndex].value;">
  <option value="#">-- Select City --</option>
  <option id="atl" value="#tiera">Atlanta</option>
  <option id="aus" value="#tierc">Austin</option>
  <option id="bal" value="#tiera">Baltimore</option>
  <option id="bos" value="#tiera">Boston</option>
</select>

问题:无论选择哪个选项,我总是会列出最后一个var,在这种情况下我总是得到波士顿。

    function myFunction() {
    document.getElementById("selectedCity").reset();
}

$(document).ready(function() {

  var cityInfo = $("#atl").text();
  var cityInfo = $("#aus").text();
  var cityInfo = $("#bal").text();
  var cityInfo = $("#bos").text();

  $("#selectedCity").change(function(){

      $("h1").text(cityInfo);
      });
});

2 个答案:

答案 0 :(得分:1)

您没有获得所选的选项。

正如您所看到的,有很多way要做。

在你的情况下,为什么不尝试这样的事情

$("h1").text($(this).find('option:selected').text());

Example

希望它可以帮到你

答案 1 :(得分:1)

嗯,对于初学者来说,你不需要四次捕获cityInfo。通过这样做,cityInfo的值将永远是波士顿,因为无论更改如何,这都是您设置的内容。

你真正想要的是:

$(document).ready(function() {
  $('#selectedCity').change(function() {
    console.log($('#selectedCity option:selected').text());
  });
});