2

我正在创建一些输入字段来插入搜索标签(与 StackOverflow 完全相同的方法)。当字段加载时没有标签时效果很好。

问题是我想将自定义标签添加到字段 onLoad。我从文档中知道您可以添加作为建议输入的标签,但我要添加的标签不在数据库内(我从中加载)。

我试过这个:

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"]
});

还有更多类似的东西。

我还考虑过遍历标签并将其添加到data: json带有 ID 的标签中,然后使用value: [ID1,ID2,ID3],但必须有一个更简单的方法!

我在这里创建了一个 jsFiddle:http: //jsfiddle.net/y4MnW/

希望有人可以帮助我对剧本进行最后的润色。

更新:

每个项目都应该单独激活,而不是同一个类。之后,它可以添加.addToSelection()

4

1 回答 1

1

答案在常见问题解答中。查看问题“处理远程数据时值属性不起作用”。

这不是微不足道的主要原因是客户端组件不知道它在通过 ajax 加载时建议的数据。它的创建方式只能添加它建议的项目。它不能自行输入免费条目。这仅仅是因为它应该让您知道何时找不到值,即使您期望它是。

预加载现有或不存在值的最佳方法是在初始 ajax 加载中使用参数,并告诉服务器您要为初始加载预加载哪种数据。常见问题解答中提供了一个示例。

您还可以查看https://github.com/nicolasbize/magicsuggest/issues/21,这对于不同的用例方法来说是一个类似的问题。

干杯

于 2013-05-05T16:37:39.953 回答