File tree Expand file tree Collapse file tree 2 files changed +34
-6
lines changed Expand file tree Collapse file tree 2 files changed +34
-6
lines changed Original file line number Diff line number Diff line change 2727 $tag . hide ( ) . fadeIn ( ) ;
2828 } ,
2929 trimValue : false ,
30- allowDuplicates : false
30+ allowDuplicates : false ,
31+ triggerChange : true
3132 } ;
3233
3334 /**
9899 }
99100
100101 if ( ! dontPushVal )
101- self . pushVal ( ) ;
102+ self . pushVal ( self . options . triggerChange ) ;
102103 return ;
103104 }
104105 }
154155 }
155156
156157 if ( ! dontPushVal )
157- self . pushVal ( ) ;
158+ self . pushVal ( self . options . triggerChange ) ;
158159
159160 // Add class when reached maxTags
160161 if ( self . options . maxTags === self . itemsArray . length || self . items ( ) . toString ( ) . length === self . options . maxInputLength )
201202 }
202203
203204 if ( ! dontPushVal )
204- self . pushVal ( ) ;
205+ self . pushVal ( self . options . triggerChange ) ;
205206
206207 // Remove class when reached maxTags
207208 if ( self . options . maxTags > self . itemsArray . length )
222223 while ( self . itemsArray . length > 0 )
223224 self . itemsArray . pop ( ) ;
224225
225- self . pushVal ( ) ;
226+ self . pushVal ( self . options . triggerChange ) ;
226227 } ,
227228
228229 /**
269270 return self . options . itemValue ( item ) . toString ( ) ;
270271 } ) ;
271272
272- self . $element . val ( val , true ) . trigger ( 'change' ) ;
273+ self . $element . val ( val , true ) ;
274+
275+ if ( self . options . triggerChange )
276+ self . $element . trigger ( 'change' ) ;
273277 } ,
274278
275279 /**
Original file line number Diff line number Diff line change @@ -20,5 +20,29 @@ describe("bootstrap-tagsinput", function() {
2020 expect ( this . $element . tagsinput ( 'items' ) . length ) . toBe ( 1 ) ;
2121 } ) ;
2222 } ) ;
23+
24+ testTagsInput ( '<input type="text" value="1" />' , { triggerChange : false } , function ( ) {
25+ it ( "triggerChange 'true' test" , function ( ) {
26+ var triggerChange = false ;
27+ this . $element . on ( 'change' , function ( event ) {
28+ triggerChange = true ;
29+ } ) ;
30+ this . $element . tagsinput ( 'remove' , '1' ) ;
31+ this . $element . tagsinput ( 'add' , 'some' ) ;
32+ expect ( triggerChange ) . toBe ( false ) ;
33+ } ) ;
34+ } ) ;
35+
36+ testTagsInput ( '<input type="text" value="1" />' , function ( ) {
37+ it ( "triggerChange 'false' test" , function ( ) {
38+ var triggerChange = false ;
39+ this . $element . on ( 'change' , function ( event ) {
40+ triggerChange = true ;
41+ } ) ;
42+ this . $element . tagsinput ( 'remove' , '1' ) ;
43+ this . $element . tagsinput ( 'add' , 'some' ) ;
44+ expect ( triggerChange ) . toBe ( true ) ;
45+ } ) ;
46+ } ) ;
2347 } ) ;
2448} ) ;
You can’t perform that action at this time.
0 commit comments