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
This commit is contained in:
Jacob Thornton 2012-04-16 17:35:32 -07:00
commit ba202d77ba
2 changed files with 12 additions and 1 deletions

View File

@ -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>

View File

@ -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