HTML:
<div class="category-container">
<input type="text" id="category" />
<div id='tes'>Check Value
</div>
</div>
JS:
var data = [{"id":1,"city":"Jakarta"},{"id":2,"city":"Washington"},{"id":3,"city":"Amsterdam"},{"id":4,"city":"Sydney"}]
var citynames = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('city'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: $.map(data, function (city) {
return {
id: city.id,
city: city.city
};
})
});
citynames.initialize();
$('.category-container > input').tagsinput({
typeaheadjs: [{
minLength: 1,
highlight: true,
},{
minlength: 1,
name: 'citynames',
displayKey: 'city',
valueKey: 'city',
source: citynames.ttAdapter()
}]
});
$(document).ready(function(){
$('#tes').click(function(){
console.log($('#category').val());
})
})
如果值存在(例如Sydney,则给出ID的输入值,在本例中为4),但如果值不存在,则给出输入的字符串。
示例:如果我输入 Jakarta 和新标签如 Kairo,那么 input 的值为 1,Kairo。
这个怎么做?