twitter-bootstrap – Twitter Bootstrap:没有匹配的Typeahead
发布时间:2020-12-18 00:28:51 所属栏目:安全 来源:网络整理
导读:我有一个“添加新事物”表单,将“用户”与“事物”相关联. 我正在使用Twitter Bootstrap Typeahead在我输入时提供用户列表. 它工作正常,如果用户在列表中,我可以选择它. 但如果用户不存在,我想要显示“创建新用户”链接. 所以基本上,我需要在.typeahead()中
我有一个“添加新事物”表单,将“用户”与“事物”相关联.
我正在使用Twitter Bootstrap Typeahead在我输入时提供用户列表. 但如果用户不存在,我想要显示“创建新用户”链接. 所以基本上,我需要在.typeahead()中某处使用某种形式的“无匹配”功能.我无法解决这个问题. 解决方法
扩展typeahead类:
var newusertext = 'New user'; var newuserlink = '/add/user/0'; $.fn.typeahead.Constructor.prototype.process = function (items) { var that = this items = $.grep(items,function (item) { return that.matcher(item) }) items = this.sorter(items) if (!items.length) { return this.rendernonmatch().show() } return this.render(items.slice(0,this.options.items)).show() } $.fn.typeahead.Constructor.prototype.rendernonmatch = function () { var that = this var items = new Array(); items.push(newusertext) items = $(items).map(function (i,item) { i = $(that.options.item).attr('data-value',item) i.find('a').html(that.highlighter(item)) return i[0] }) items.first().addClass('active') this.$menu.html(items) return this } /* redirect to the registration page to add a new user */ $.fn.typeahead.Constructor.prototype.updater = function (item) { if(item === newusertext){ window.location = newuserlink; return} return item } 见:http://bootply.com/66630 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |