我尝试通过以下方式将选择元素的旧值和新值传递给函数:

<select class="browser-default" id="countries" onfocus="this.oldvalue = this.value;" onchange="getCurrency(this);this.oldvalue = this.value;">
   <option value="" disabled selected>Choose your country</option>
   <option value="1">....</option>
   <option value="2">....</option>
</select>

var getCurrency = function(country) {
   currency_value = country.value;
   country_name = country.options[country.selectedIndex].innerHTML;
   old_value = country.oldvalue;
   if ( oldvalue === "") {
    oldvalue = 10;
   }
}


但是,它不起作用。它不会将旧值传递给函数。我在Stackoverflow中看到了与另一个问题类似的东西,然后尝试重现它。

最佳答案

请尝试以下方法。



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="browser-default" id="countries" onfocus="this.oldvalue = this.value;" onchange="getCurrency(this);this.oldvalue = this.value;">
   <option value="" disabled selected>Choose your country</option>
   <option value="1">India</option>
   <option value="2">Australia</option>
  <option value="3">USA</option>
</select>

<script>
  var oldValue = $("#countries").val();
  var newValue;
  $("#countries").change(function(){
    newValue=$(this).val();
    alert(oldValue + " : " + newValue);
    oldValue=newValue;
  });

  </script>

关于javascript - 在Select元素的onChange之后使用Javascript的新旧值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28960967/

10-11 13:46