2014-02-23 51 views

回答

0

是的。我假設你正在使用這個庫 - >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; 
    } 
}); 

如果爲空,令牌沒有被插入(而obvoius :)


從源頭上,關於最新的開發版本v0.11.0線176-178(https://github.com/sliptree/bootstrap-tokenfield/blob/master/js/bootstrap-tokenfield.js):

this.$element.trigger(beforeCreateEvent) 

    if (!beforeCreateEvent.token) return 

beforeCreateToken被觸發內部createToken(),如果你設置e.token爲false或爲空,退出函數和

var token = $('<div class="token" />') 
      .attr('data-value', value) 
      .append('<span class="token-label" />') 
      .append('<a href="#" class="close" tabindex="-1">&times;</a>') 

從未達到。所以這實際上是thé取消創建的方法。

+0

謝謝!這樣就創建了一個空的標記。我想中止創作。 – MikeAlike234

+0

否。沒有任何東西是空的時候創建的。或者,將e.token設置爲false(因爲我更新了答案) - 使用最新的可下載版本。爲自己檢查代碼,如果將標記設置爲false(或空),則創建將被返回取消。 – davidkonrad