function (data, options) {

            if (!this.triggerSelect(data)) { return; }

            var old = this.opts.element.val(),
                oldData = this.data();

            this.opts.element.val(this.id(data));
            this.updateSelection(data);

            this.opts.element.trigger({ type: "select2-selected", val: this.id(data), choice: data });

            this.close();

            if (!options || !options.noFocus)
                this.selection.focus();

            if (!equal(old, this.id(data))) { this.triggerChange({added:data,removed:oldData}); }
        }
function (data, options) {

            if (!this.triggerSelect(data)) { return; }

            var old = this.opts.element.val(),
                oldData = this.data();

            this.opts.element.val(this.id(data));
            this.updateSelection(data);

            this.opts.element.trigger({ type: "select2-selected", val: this.id(data), choice: data });

            this.close();

            if (!options || !options.noFocus)
                this.selection.focus();

            if (!equal(old, this.id(data))) { this.triggerChange({added:data,removed:oldData}); }
        }
function ( data , options ) { if ( ! this . triggerSelect ( data ) ) { return ; } var old = this . opts . element . val ( ) , oldData = this . data ( ) ; this . opts . element . val ( this . id ( data ) ) ; this . updateSelection ( data ) ; this . opts . element . trigger ( { type : "select2-selected" , val : this . id ( data ) , choice : data } ) ; this . close ( ) ; if ( ! options || ! options . noFocus ) this . selection . focus ( ) ; if ( ! equal ( old , this . id ( data ) ) ) { this . triggerChange ( { added : data , removed : oldData } ) ; } }
single
single