【发布时间】:2014-02-24 00:53:16
【问题描述】:
Twitter 引导令牌字段
如果检测到无效输入,有没有办法取消在 .on('beforeCreateToken') 中创建令牌?
【问题讨论】:
标签: jquery twitter-bootstrap bootstrap-tokenfield
Twitter 引导令牌字段
如果检测到无效输入,有没有办法取消在 .on('beforeCreateToken') 中创建令牌?
【问题讨论】:
标签: jquery twitter-bootstrap bootstrap-tokenfield
是的。我假设你正在使用这个库 -> http://sliptree.github.io/bootstrap-tokenfield/ ??
只需在beforeCreateToken 处理程序中重置令牌,如果要插入的令牌包含在排除列表中:
var exclusionList = ['a','b','c'];
$('#tokenfield').on('beforeCreateToken', function(e) {
var token = e.token.value;
if (exclusionList.indexOf(token)>-1) {
e.token=false;
}
});
如果为空,则不会插入令牌(很明显:)
来自源,关于最新开发版本 v0.11.0 (https://github.com/sliptree/bootstrap-tokenfield/blob/master/js/bootstrap-tokenfield.js) 中的第 176-178 行:
this.$element.trigger( beforeCreateEvent )
if (!beforeCreateEvent.token) return
在createToken()内部触发beforeCreateToken,如果将e.token设置为false或空,则退出函数并
var token = $('<div class="token" />')
.attr('data-value', value)
.append('<span class="token-label" />')
.append('<a href="#" class="close" tabindex="-1">×</a>')
永远不会到达。所以这实际上是取消创建的thé 方式。
【讨论】: