在选择选项切换

时间:2017-04-25 14:39:14

标签: javascript jquery

我的选择选项脚本中有一些问题,但我无法弄清楚,什么错了?对不起,我不是jquery的专业人士。

HTML

<fieldset>
<select id="sorting">
    <option value="1">A-Z</option>
    <option value="2">Number</option>
</select>
</fieldset>

Jquery的

$(document).change(function() {
    if( $("#sorting").prop("selectedIndex", 1) ) {
      alert("A-Z");
    }
    else if( $("#sorting").prop("selectedIndex", 2) ) {
      alert("Number");
    }         
});

我的问题:它始终是“A-Z”,我不能通过选择号码切换到“号码”;(。

这是我的fiddle

3 个答案:

答案 0 :(得分:4)

使用.val()获取选择的值:

&#13;
&#13;
$("#sorting").change(function() {
  if ($(this).val() == 1) {
    alert("A-Z");
  } else if ($(this).val() == 2) {
    alert("Number");
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset>
  <select id="sorting">
    <option value="1">A-Z</option>
    <option value="2">Number</option>
  </select>
</fieldset>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

您正在设置未获取所选索引,但索引也基于零

更改为:

$(document).on('change','#sorting', function() {
    var selectedIndex = this.selectedIndex;
    if( selectedIndex  === 0 ) {
      alert("A-Z");
    }
    else if( selectedIndex  === 1 ) {
      alert("Number");
    }         
});

答案 2 :(得分:0)

您在HTML属性中设置了,因此请使用jQuery中的 .val()来获取该选项的值。