我正在使用名为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"。"
的数组答案 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);