更改下拉事件无法触发

时间:2018-05-09 04:32:38

标签: javascript jquery html

我有一个下拉列表。在选择时,将触发change事件。我再次从下拉列表中选择相同的元素,它不会将更改事件绑定到它。

Language Selector

3 个答案:

答案 0 :(得分:1)

一种可能的解决方法是使用click()事件,如下所示:



var prevVal = "";
$('#mySelect').click(function(){
  if($(this)[0].selectedIndex > 0){
    var currVal = $(this).val();
    if(prevVal != currVal){
        console.log(currVal);
        prevVal = currVal;
    }
    else prevVal = "";
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mySelect">
  <option value="select">Please Select</option>
  <option value="Arabic">Arabic</option>
  <option value="Spanish">Spanish</option>
  <option value="English">English</option>
</select>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

从下拉列表中选择一个选项后,不会在同一选项上触发更改事件,因为所选值没有更改。 您可以根据使用情况使用click或focusout事件。

答案 2 :(得分:0)

假设您的附加图像描述了语言切换。首先选择,系统会将内容更改为西班牙语。

在西班牙语的第二次点击中,由于首次点击时已选择西班牙语,因此不会发生任何事情。 - 我们不了解您的解决方案逻辑中发生的细节。