I suggest to use an object for the values, because you could collect all values in one object without polluting the global scope to much.
var foo = document.getElementById("something"),
values = {};
foo.addEventListener('change', function(e) {
values.value = this[this.selectedIndex].text;
values.id = this[this.selectedIndex].value;
}, false);
alert(values.value);
For a more dynamic version, i suggets to use a closure over values
.
var foo = document.getElementById("something"),
values = {};
foo.addEventListener('change', function (object) {
return function(e) {
object.value = this[this.selectedIndex].text;
object.id = this[this.selectedIndex].value;
};
}(values), false);
alert(values.value);