aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Thornton <[email protected]>2012-04-16 17:35:32 -0700
committerJacob Thornton <[email protected]>2012-04-16 17:35:32 -0700
commitba202d77baa35125a521224d9a55ec013fc3ccfa (patch)
treed399df215d96c08f7699211d72c887d9ae5c3561
parent2881269e16be1beb007633501496d6a8e8924b4b (diff)
parent031fa47f68f5655bf68f0c9ebf551f92028bf5d8 (diff)
downloadbootstrap-ba202d77baa35125a521224d9a55ec013fc3ccfa.tar.xz
bootstrap-ba202d77baa35125a521224d9a55ec013fc3ccfa.zip
Merge pull request #3104 from iamnirav/2.0.3-wip
Allow updater function in bootstrap-typeahead.js (updates the value of the input field) to be overridden
-rw-r--r--docs/javascript.html6
-rw-r--r--js/bootstrap-typeahead.js7
2 files changed, 12 insertions, 1 deletions
diff --git a/docs/javascript.html b/docs/javascript.html
index 7ad42ae81..2261e65b8 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -1490,6 +1490,12 @@ $('.carousel').carousel({
<td>highlights all default matches</td>
<td>Method used to highlight autocomplete results. Accepts a single argument <code>item</code> and has the scope of the typeahead instance. Should return html.</td>
</tr>
+ <tr>
+ <td>updater</td>
+ <td>function</td>
+ <td>replaces contents of text input with typeahead selection</td>
+ <td>Method used to update contents of text input. Accepts a single argument, the <code>item</code> selected from the typeahead, and has the scope of the typeahead instance. Should return a string.</td>
+ </tr>
</tbody>
</table>
diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js
index 526cf320c..4c562f753 100644
--- a/js/bootstrap-typeahead.js
+++ b/js/bootstrap-typeahead.js
@@ -32,6 +32,7 @@
this.matcher = this.options.matcher || this.matcher
this.sorter = this.options.sorter || this.sorter
this.highlighter = this.options.highlighter || this.highlighter
+ this.updater = this.options.updater || this.updater
this.$menu = $(this.options.menu).appendTo('body')
this.source = this.options.source
this.shown = false
@@ -45,11 +46,15 @@
, select: function () {
var val = this.$menu.find('.active').attr('data-value')
this.$element
- .val(val)
+ .val(this.updater(val))
.change()
return this.hide()
}
+ , updater: function (item) {
+ return item
+ }
+
, show: function () {
var pos = $.extend({}, this.$element.offset(), {
height: this.$element[0].offsetHeight