2017-03-07 77 views
0

即时通讯使用bootstrap-tagsinput。下面的代码工作正常,但我想让自动清除json中不存在的特定输入值。用户只需从标签中选择他不能提交自定义值。我也使用“freeInput:false”,但它仍然在前端显示值。请帮我解决这个问题。Bootstrap标签自动清除自定义值后类型

enter image description here

jQuery的

var languages = new Bloodhound({ 
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name') 
, queryTokenizer: Bloodhound.tokenizers.whitespace 
, prefetch: './assets/languages.json' 
}); 
languages.initialize(); 
$('#inputtag').tagsinput({ 
freeInput: false 
, typeaheadjs: { 
    name: 'id' 
    , displayKey: 'name' 
    , valueKey: 'name' 
    , limit: 10 
    , source: languages.ttAdapter() 
} 
}); 

HTML

<input type="text" data-role="tagsinput" id="inputtag" value="" name="language[]" required data-msg-required="Please enter your language" multiple class="form-control tag"> 

回答

1

尝试下面的代码,这可能会帮助你。

var languages = new Bloodhound({ 
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name') 
, queryTokenizer: Bloodhound.tokenizers.whitespace 
, prefetch: './assets/languages.json' 
}); 

languages.initialize(); 
$('#inputtag').tagsinput({ 
freeInput: false 
, addOnBlur : false 
, typeaheadjs: { 
    name: 'id' 
    , displayKey: 'name' 
    , valueKey: 'name' 
    , source: languages.ttAdapter() 
    } 
}); 

$('#inputtag').tagsinput('input').blur(function() { 
    $(this).val(''); 
}); 

检查github

+0

感谢这个作品这个问题。 :) – user7152572