     if @target.id.length
       $("label[for=#{@target.id}]").unbind "click"
 
+    @$target.unbind "change", @change
+
     @$dropdown.unbind()
     @$container.$search.unbind()
     @$container.unbind()
 
     return true
+
+  change: (evt) ->
+    if @parser.selected().length
+      @$container.$search.removeAttr("required")
+    else if @$container.$search.data("required")
+      @$container.$search.attr("required", "required")
 
   activate: ->
     @$container.$search.trigger("focus")

      @open()
      evt.stopImmediatePropagation()

    @$container.$search.bind "keydown", (evt) => @keydown(evt)
    @$container.$search.bind "keyup",   (evt) => @keyup(evt)
    @$container.$search.bind "focus",   (evt) => @focus(evt)
    @$container.$search.bind "blur",    (evt) => @blur(evt)
    @$container.$search.bind "invalid", (evt) => @invalid(evt)

    return true



    if @target.required
      input_attrs.required = @target.required
      input_attrs["data-required"] = @target.required
      @target.required = false

    @$container = $("<div />", container_props)
