adding onselect option so a method can be called when a selection occurs also added the ability to set the class and placeholder text for the input