Codeblooded Saiyan
Codeblooded Saiyan

Reputation: 1497

How can I pass the value on onchange to another onchange event in jquery

I have this code:

$(document).ready(function(){
  var country;
  $('#selectCountry').on('change', function (e) {
    var optionSelected = $("option:selected", this);
    var country= this.value;
  });

  $('#selectedPlace').on('change', function (e) {
    var optionSelected = $("option:selected", this);
    var place = this.value;
    console.log(country);
    console.log(place);
  });
});

I want to get the selectedCountry value when I select a place or when selectPlace onchange event was triggered. I tried that code but, country is undefined

How can I assign value on global variable from onchange event? Please help. Thanks :)

Upvotes: 1

Views: 3774

Answers (4)

parvezalam khan
parvezalam khan

Reputation: 490

$(document).ready(function(){
  var country;
  $('#ddlCountry').on('change', function (e) {
     country= $('#ddlCountry').val()
  });

  $('#ddlPlace').on('change', function (e) {
    var place = $('#ddlPlace').val();
    console.log(country);
    console.log(place);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="ddlCountry">
  <option value=0>Select</option>
  <option value=India>India</option>
  <option value=Usa>Usa</option>
</select>
<select id="ddlPlace">
  <option value=0>Select</option>
  <option value=Mumbai>Mumbai</option>
  <option value=Colorado>Colorado</option>
</select>

Upvotes: 1

vijay
vijay

Reputation: 926

Remove your var from var country= this.value; inside your $('#selectCountry').on('change', function (e) { }); function. just set as Global.

$(document).ready(function() {
  var country;
  $('#selectCountry').on('change', function(e) {
    var optionSelected = $("option:selected", this);
    country = this.value;
  });

  $('#selectedPlace').on('change', function(e) {
    var optionSelected = $("option:selected", this);
    var place = this.value;
    console.log(country);
    console.log(place);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="selectCountry">
  <option value=0>Select</option>
  <option value=A>A</option>
  <option value=B>B</option>
</select>
<select id="selectedPlace">
  <option value=0>Select</option>
  <option value=a>a</option>
  <option value=b>b</option>
</select>

Upvotes: 0

Josef Fernan Penales
Josef Fernan Penales

Reputation: 40

  $(document).ready(function(){
     var country
      place;

 $('#selectCountry').on('change', function (e) {
  country = $('#selectCountry').val();
});

 $('#selectedPlace').on('change', function (e) {
 var place = $('#selectedPlace').val();
 console.log(country);
 console.log(place);
 });
});

Upvotes: 0

Mairaj Ahmad
Mairaj Ahmad

Reputation: 14604

You can directly get value of country when selectedplace onchange is fired

$('#selectedPlace').on('change', function (e) {
    var optionSelected = $("option:selected", this);
    var place = this.value;
    console.log( $('#selectCountry').val());
    console.log(place);
  });

Upvotes: 2

Related Questions