1

我正在使用 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(){

            }
        });

自动完成动作:

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;
}

如您所见,我从数据库中加载了用户名和组织,因此您可以同时添加它们。

现在,当我在文本框中输入时,我会看到来自组织和用户名的提示。有没有办法添加标题并在“组织标题”下显示组织和在“用户名标题”下显示用户名。

用于澄清的图像:
在此处输入图像描述

4

1 回答 1

0

找到了解决方案。示例可以在这里找到:http: //twitter.github.io/typeahead.js/examples/

检查页面上的示例“NBA 和 NHL 球队”!

于 2013-09-13T12:40:36.273 回答