我正在创建一些输入字段来插入搜索标签(与 StackOverflow 的方法完全相同)。当字段加载时没有标签时效果很好。
问题是我想将自定义标签添加到 onLoad 字段。我从Documentation知道您可以添加作为建议输入的标签,但我要添加的标签不在数据库中(我正在从中加载)。
我已经试过了:
1.
<input type="text" value="tag1,tag2,tag3" />
2.
<input type="text" value="['tag1','tag2','tag3']" />
3.
$('.tags').magicSuggest({
width: 300,
maxSuggestions: 5,
data: json,
...,
value: ["tag1","tag2","tag3"]
});
还有更多类似的东西。
我还考虑过遍历标签并将其添加到带有 ID 的 data: json
中,然后使用 value: [ID1,ID2,ID3]
但是一定有更简单的方法!
我在这里创建了一个 jsFiddle:http://jsfiddle.net/y4MnW/
希望有人能帮我对脚本进行最后的润色。
更新:
每个项目都应该单独激活,而不是同一个类。之后可以使用 .addToSelection()
最佳答案
答案在 FAQ 中.查看问题“使用远程数据时值属性不起作用。”
这不是微不足道的主要原因是客户端组件不知道它建议什么数据,因为它是通过 ajax 加载的。它的创建方式是它只能添加它建议的项目。它不能自己输入免费条目。这仅仅是因为它应该让您知道什么时候找不到某个值,即使您希望它找到。
预加载现有或不存在值的最佳方法是在初始 ajax 加载中使用参数,并告诉服务器您希望为初始加载预加载哪种数据。常见问题解答中提供了一个示例。
您还可以查看 https://github.com/nicolasbize/magicsuggest/issues/21对于不同的用例方法,这是一个类似的问题。
干杯
关于javascript - MagicSuggest 使用 HTML 或 jQuery 代码添加自定义标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16383637/