From a <select> tag, is it possible to find from what value the .change() was triggered?
Use a variable for cache the previous value.
// bind change event handler to the eleemnt 
// and cache the current value in `prev`
var prev = $('#test').change(function() {
  // get previous value from `prev`
  console.log('prev : ' + prev + ' , current : ' + this.value);
  //... do the rest here
  // update the `prev` variable with current value
  prev = this.value;
}).val(); // get the default value<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="test">
  <option value="1">1</option>
  <option value="11">11</option>
  <option value="111">111</option>
</select>Here is a sample, You just have to get the value of the select initially on page load, Then every time there is a change just update this variable with new value.
At any change event the variable currValue holds the previous value before change.
var currValue = $('select').val();
$('select').on('change',function(){
  var newValue = $(this).val();
  alert('value Before change : '+ currValue);
  alert('value After change : '+ newValue);
  
  currValue = newValue;
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
<select>If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With