add tmplSelectOpts option canEmpty, emptyText
refactoring