我的脚本使用https://github.com/twitter/typeahead.js:
SELECT * FROM lookup_57c5f58b0c4543df97fe5929498aa2bf
} 有没有办法只允许用户使用其中一个typeahead建议值?这是因为表单输入值必须与提交时数据库中的记录匹配,因此用户不能输入自己的自定义值。
更新:有多个字段可以输入,但它们都有一个function typeahead_initialize() {
var engine = new Bloodhound({
datumTokenizer: function(datum) {
var result = Bloodhound.tokenizers.whitespace(datum.name);
if (datum.brand != null){
result = result.concat(Bloodhound.tokenizers.whitespace(datum.brand.name));
}
return result;
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
wildcard: '%QUERY',
url: '/find?q=%QUERY%',
prepare: function(query, settings) {
settings.type = "GET";
settings.dataType = "json"
settings.url = settings.url.replace('%QUERY', encodeURIComponent(query));
return settings;
}
}
});
$(".search").typeahead(null, {
name: 'engine',
display: function(data){
return data.name + (data.brand ? " - " + data.brand.name : "");
},
source: engine
})
.on('typeahead:selected', function($e, datum){
//You may access the value object here
console.log("datum" ,datum);
});
类。用户可以根据需要创建任意数量的输入字段,但不能从页面中删除它们。 (有点像购物车)。为此,我在输入字段create方法中销毁并重新初始化typeahead。如果您不这样做,请输入未查看新添加的输入字段。
.search