2

Tokenfield プラグインを使用しようとしています - http://sliptree.github.io/bootstrap-tokenfield

ソースからのトークンのみの使用を制限するにはどうすればよいですか?

$('#tokenfield_platform').tokenfield({
autocomplete: {
source: [
        {% for platform_item in platforms %}
        '{{ platform_item }}',
    {% endfor %}
],
delay: 100
},
createTokensOnBlur:true,
showAutocompleteOnFocus: true
}).on('tokenfield:createtoken', function (event) {
    var existingTokens = $(this).tokenfield('getTokens');
    $.each(existingTokens, function(index, token) {
    if (token.value === event.attrs.value)
        event.preventDefault();
    });
    //var available_tokens = bloodhound_tokens.index.datums;
    // I do not want to use Twitter Typeahead, but only tokens from source
    var exists = true;
    $.each([available_tokens, function(index, token) {
    if (token.value === event.attrs.value)
        exists = false;
    });
    if(exists === true)
    event.preventDefault();
});

情報をありがとう。

4

1 に答える 1

3

リスナーtokenfield:createtokenを使用すると、トークンを作成する前に検証できます。

情報: http://sliptree.github.io/bootstrap-tokenfield/#events

$('#tokenfield_platform').on('tokenfield:createtoken', function (event) {
    var exists = false;
    $.each(yourSource, function(index, value) {
            if (event.attrs.value === value) {
                exists = true;
            }
    });
    if(!exists) {
            event.preventDefault(); //prevents creation of token
    }
});
于 2016-04-20T15:17:13.407 に答える