Skip to content

Commit 671b421

Browse files
committed
Merge branch 'develop'
2 parents a418c88 + 641c21f commit 671b421

File tree

2 files changed

+34
-6
lines changed

2 files changed

+34
-6
lines changed

src/bootstrap-tagsinput.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
$tag.hide().fadeIn();
2828
},
2929
trimValue: false,
30-
allowDuplicates: false
30+
allowDuplicates: false,
31+
triggerChange: true
3132
};
3233

3334
/**
@@ -98,7 +99,7 @@
9899
}
99100

100101
if (!dontPushVal)
101-
self.pushVal();
102+
self.pushVal(self.options.triggerChange);
102103
return;
103104
}
104105
}
@@ -154,7 +155,7 @@
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)
@@ -201,7 +202,7 @@
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)
@@ -222,7 +223,7 @@
222223
while(self.itemsArray.length > 0)
223224
self.itemsArray.pop();
224225

225-
self.pushVal();
226+
self.pushVal(self.options.triggerChange);
226227
},
227228

228229
/**
@@ -269,7 +270,10 @@
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
/**

test/bootstrap-tagsinput/events.tests.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff 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
});

0 commit comments

Comments
 (0)