nl_tokens: multi
pl_tokens: function ( val , triggerChange ) { var oldData , self = this , changeDetails ; if ( arguments . length === 0 ) { return this . getVal ( ) ; } oldData = this . <mask> ( ) ; if ( ! oldData . length ) oldData = [ ] ; // val is an id. !val is true for [undefined,null,'',0] - 0 is legal if ( ! val && val !== 0 ) { this . opts . element . val ( "" ) ; this . updateSelection ( [ ] ) ; this . clearSearch ( ) ; if ( triggerChange ) { this . triggerChange ( { added : this . data ( ) , removed : oldData } ) ; } return ; } // val is a list of ids this . setVal ( val ) ; if ( this . select ) { this . opts . initSelection ( this . select , this . bind ( this . updateSelection ) ) ; if ( triggerChange ) { this . triggerChange ( this . buildChangeDetails ( oldData , this . data ( ) ) ) ; } } else { if ( this . opts . initSelection === undefined ) { throw new Error ( "val() cannot be called if initSelection() is not defined" ) ; } this . opts . initSelection ( this . opts . element , function ( data ) { var ids = $ . map ( data , self . id ) ; self . setVal ( ids ) ; self . updateSelection ( data ) ; self . clearSearch ( ) ; if ( triggerChange ) { self . triggerChange ( this . buildChangeDetails ( oldData , this . data ( ) ) ) ; } } ) ; } this . clearSearch ( ) ; }