Javascript 推特';s引导预输入设置
我用的是官方的。 主要的问题是,我可能不知道如何使用霍根怪物。JS方面:Javascript 推特';s引导预输入设置,javascript,twitter-bootstrap,typeahead,Javascript,Twitter Bootstrap,Typeahead,我用的是官方的。 主要的问题是,我可能不知道如何使用霍根怪物。JS方面: $("#search_name").typeahead({ name: 'name', remote: { url: '/entities/search_autocomplete.json?query=%QUERY', template: '<p><strong>{{id}}</strong> – {{name}}</p>',
$("#search_name").typeahead({
name: 'name',
remote: {
url: '/entities/search_autocomplete.json?query=%QUERY',
template: '<p><strong>{{id}}</strong> – {{name}}</p>',
engine: Hogan
}
});
这段代码来自我们的一个项目,应该可以帮助您理解转换外部JSON数组和在自定义自动完成提示中输出的必要标记:
$('input').typeahead({
header: 'Your Events',
template: [
'<img class="ta-thumb" src="https://graph.facebook.com/{{id}}/picture?type=square" />',
'<p class="ta-h1">{{name}}</p>',
'<p class="ta-p">{{start_time}}</p>'
].join(''),
limit: 3,
remote: {
url: 'https://graph.facebook.com/me/events?access_token=' + access_token,
filter: function(parsedResponse) {
var dataset = [];
for(i = 0; i < parsedResponse.data.length; i++) {
dataset.push({
name: parsedResponse.data[i].name,
start_time: parsedResponse.data[i].start_time,
id: parsedResponse.data[i].id,
value: parsedResponse.data[i].name,
tokens: [parsedResponse.data[i].id, parsedResponse.data[i].name]
});
}
return dataset;
},
},
engine: Hogan
});
$('input')。提前键入({
标题:“您的事件”,
模板:[
'',
“{{name}
”,
“{{start\u time}
”
].加入(“”),
限额:3,,
远程:{
网址:'https://graph.facebook.com/me/events?access_token=“+access_令牌,
过滤器:函数(parsedResponse){
var数据集=[];
对于(i=0;i
您需要下载模板编译器并将其包含在标记中(例如,将其用作外部脚本或通过模块加载器等)。然后设置Hogan
变量
我还建议您看看这一点,以便更好地理解数组转换
希望这能有所帮助:)这对我来说不像JSON。对不起,这是一个Ruby代码,它被转换为JSON,输出几乎相同,即所有:asdf被转换为“asdf”等。它只是更可读,但无论如何,它已转换为JSON。非常感谢Ryan。我对typeahead的几个版本有点困惑,最终我使用了Github上Twitter默认库中的版本:。它让人困惑的是,当您从它下载TB时,它不包括typeahead。无论如何,谢谢你,伙计!旁注:Bootstrap确实包含了Typeahead(我现在才遇到这个问题),但包含的版本至少有几次修订。它提供了大部分自动完成功能,但没有数据加载/预取/本地存储功能。我最终使用了customizer:并完全关闭了基于BS的Typeahead。当然,由于OP提到的是Typeahead.js的docs(),而不是Bootstrap自己的Fork,我想我没有提到它。作为提醒,只要在
bootstrap.js
之后包含typeahead.js
,就不会遇到任何兼容性问题。
$('input').typeahead({
header: 'Your Events',
template: [
'<img class="ta-thumb" src="https://graph.facebook.com/{{id}}/picture?type=square" />',
'<p class="ta-h1">{{name}}</p>',
'<p class="ta-p">{{start_time}}</p>'
].join(''),
limit: 3,
remote: {
url: 'https://graph.facebook.com/me/events?access_token=' + access_token,
filter: function(parsedResponse) {
var dataset = [];
for(i = 0; i < parsedResponse.data.length; i++) {
dataset.push({
name: parsedResponse.data[i].name,
start_time: parsedResponse.data[i].start_time,
id: parsedResponse.data[i].id,
value: parsedResponse.data[i].name,
tokens: [parsedResponse.data[i].id, parsedResponse.data[i].name]
});
}
return dataset;
},
},
engine: Hogan
});