我正在使用Bootstrap的“typeahead”插件。
我用这样的ajax加载数据:
$.ajax({
type: "POST",
url: "/library/autocomplete",
dataType: 'json',
success: function(data) {
$('#autocomplete').typeahead({source: data})
},
error: function(data){
console.log( "Data is: " + data);
},
onComplete: function(){
}
});
autocompleteAction:
public function autocompleteAction()
{
// disable view and layout
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$values = array();
$usernames = UserQuery::create()->find();
$usernames = $usernames->toArray();
$organizations = OrganizationQuery::create()->find();
$organizations = $organizations->toArray();
foreach($organizations as $organization){
array_push($values, $organization["Name"]);
}
foreach($usernames as $username){
array_push($values, $username["Username"]);
}
echo $this->_helper->json($values);
exit;
}
如您所见,我从数据库加载用户名和组织,以便您可以添加它们。
现在,当我输入文本框时,我会看到组织和用户名的提示。有没有办法添加标题并在“组织标题”下显示组织,在“用户名标题”下显示用户名。
澄清的图像:
答案 0 :(得分:0)
找到解决方案。可以在此处找到示例:http://twitter.github.io/typeahead.js/examples/
在页面上查看“NBA和NHL团队”的例子!