1

我正在使用这个名为 TagHandler 的插件。链接: http: //ioncache.github.io/Tag-Handler/ 我可以知道如何从数据库中分配标签而不是硬代码给 jquery 吗?例如,分配标签是

$("#array_tag_handler").tagHandler({
    assignedTags: [ 'C', 'Perl', 'PHP' ],
    availableTags: [ 'C', 'C++', 'C#', 'Java', 'Perl', 'PHP', 'Python' ],
    autocomplete: true
});

但我想从 mysql 数据库中获取它。

他们只给出了使用 getData 内置函数的可用标签的示例

$("#ajaxget_tag_handler").tagHandler({
    getData: { id: 'user123', type: 'user' },
    getURL: '/ajaxtest/get',
    autocomplete: true
});

我需要php示例。我不知道如何以 JSON 格式检索数据。

从网站...“通过为要通过 AJAX 检索的标签提供一个“getURL”。使用此方法时,服务器必须提供一个名为“availableTags”的 JSON 格式的数组,以及一个可选的名为“assignedTags”的附加数组。”

4

1 回答 1

1

在客户端,您希望像这样加载标签处理程序:

$(document).ready(function()
{
    $("#array_tag_handler").tagHandler({
        dataType: 'json',
        getURL: '/admin/tag/list',
        autocomplete: true
    });

});

这将调用 '/admin/tag/list' 路由并返回 json。在服务器端,您要检索标签列表并将它们以 json 格式传回。

$result = getTags();  // Returns eg array('tag1', 'tag2', 'tag3', etc)

然后根据标签处理程序文档使用正确的索引构建您的数组:

$data = array('availableTags' => $result);

请注意,如果您想预加载一些标签(例如 tag1 和 tag2),那么只需修改上面的数组,使其看起来像这样:

$data = array('availableTags' => $result, 'assignedTags' => array('tag1', 'tag2'));

然后你需要在返回给客户端之前对这个数组进行 json 编码:

return json_encode($data);
于 2014-09-17T13:58:42.417 回答