9

我发现了一个可爱的小标记脚本,叫做 TagIt:

http://aehlke.github.io/tag-it/examples.html

这真的很简单,但我想知道如何让用户输入标签(来自我预定义的标签列表)并将它们映射到实际的 ID 号,而不是标签名称本身?

在提交表单时,我希望能够提交一个 ID 列表,如下所示:

3,7,22,56,77

这将映射到用户选择的标签,例如:

rock,indie,blues,jazz,world

我的标签将来自一个标签表,每个标签都有它们的主键,我希望将这些主键存储在用户正在创建的帖子的列中。

基本上,我希望用户看到标签的好听的名称,但要让表单实际提交 ID 值。这可能吗?

这是我当前的 JS:

var genreTags = [

    'Indie',
    'Electronic',
    'Pop',
    'Urban',
    'Metal',
    'Jazz',
    'Blues',
    'World',
    'Rock',
    'Classical',
    'Reggae'

];

$("#genre").tagit({
    availableTags: genreTags,
    tagLimit: 3
});

这是一个简单的单词标签列表,但我想这些需要是对象。就像是:

{ "id" : "3", "name" : "rock" }

是否可以做这样的事情,然后使用 ID 作为值放置在表单字段中?

任何帮助表示赞赏。

谢谢,迈克尔。

4

1 回答 1

9

可以有标签和 id 对并将其与 TagIt 集成。

由于该列表是预定义的,因此您可以声明 id-label 对。

var availableTags = [
{value: 1, label: 'tag1'},
{value: 2, label: 'tag2'},
{value: 3, label: 'tag3'}];

这个jsfiddle会给你一个想法。

于 2013-10-29T12:41:07.157 回答