如何通过ioncache从数据库为Tag Handler分配标签

时间:2014-06-03 03:39:36

标签: javascript jquery-plugins tag-handler

我正在使用名为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 buildin函数的可用标记

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

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

来自网站..."通过提供" getURL"通过AJAX检索标签。 使用此方法时,服务器必须提供名为" availableTags"的JSON格式化数组。以及另外一个名为" assignedTags"。"

的数组

1 个答案:

答案 0 :(得分: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)

然后根据Tag Handler文档构建具有正确索引的数组:

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

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

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

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

return json_encode($data);