Reputation: 1497
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
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
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
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
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