use "runtime" to load element
moved away from "this" and set default data value
send select event even when data is empty, use this.length instead of this.data.length