Monday, May 20, 2024
96
rated 0 times [  102] [ 6]  / answers: 1 / hits: 18597  / 11 Years ago, wed, may 8, 2013, 12:00:00

I've got a dropdown, but when a user select another value, I want some code to be executed. My question: How can I check whether the selected value of the dropdown has changed?



In my html file:



<template name=jaren>    
<form id=yearFilter>
<select class=selectpicker span2 id=yearpicker >
{{#each jaren}}
{{#if selectedYear}}
<option selected value={{_id}}>{{jaar}} {{description}}</option>
{{else}}
<option value={{_id}}>{{jaar}} {{description}}</option>
{{/if}}
{{/each}}
</select>
</form>
</template>


in my javascript file:



Template.jaren.jaren = function() {
return Years.find();
}
Template.jaren.selectedYear = function() {
if (Session.get('year_id') == this._id) {
return true;
} else {
return false;
}
}
Template.jaren.events({
'change form#yearFilter #yearpicker': function(event, template) {
Session.set('year_id', template.find('#yearpicker').value);
console.log(value changed);
}
});

More From » drop-down-menu

 Answers
164

You can get the value of the select element inside the event handler and then compare it to the old value you had already stored:



change #yearpicker: function(evt) {
var newValue = $(evt.target).val();
var oldValue = Session.get(year_id);
if (newValue != oldValue) {
// value changed, let's do something
}
Session.set(year_id, newValue);
}

[#78348] Tuesday, May 7, 2013, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
grayson

Total Points: 36
Total Questions: 113
Total Answers: 95

Location: Tonga
Member since Fri, Aug 21, 2020
4 Years ago
grayson questions
;