0

我正在使用 jQuery tokeninput 预填充文本区域。我有一个 JSON 数组来预填充文本区域,文本区域已正确填充,但是当我查看<li>此插件创建的 's 时,它只包含每个条目的名称。

如何获取有关每个条目的其余信息?在我的情况下,如描述、订单等。我需要它,因为我需要将所有这些条目插入数据库。

我的 jQuery 是

<script type="text/javascript">
    $(document).ready(function() {
        $("#text-area").tokenInput("", {
            theme: "facebook",
            prePopulate: [
                          {"id":"04d0d4b2-ac25-11e1-96a5-9787dec335c2","name":"Group 1","description":"Description of Patent Group 1","order":56250000,"is_deleted":false},
                          {"id":"9d4f6e5c-dd73-11e1-bed3-fbfe082dc‌​761","name":"Group 3","description":"Description of Patent Group 3","order":70312500,"is_deleted":false},
                          {"id":"06d0d4b2-ac25-11e1-96a5-9787dec33‌​5c2","name":"Group 2","description":"Description of Patent Group 2","order":84375000,"is_deleted":false}
                         ]
        });
    });
</script>
4

2 回答 2

2

您需要使用以下tokenFormatter选项:

为每个标记返回一个插入的 HTML 字符串的函数。将此函数与您选择的模板系统一起使用,例如 jresig microtemplates 或 mustache.js。当您想要包含图像或多行格式标记时使用此选项。Quora 的人员邀请令牌字段返回头像令牌是一个很好的例子,说明了这个选项可以做什么。

默认值:(function(item){ return “&lt;li><p>” + item.propertyToSearch + “&lt;/p></li>” } 演示)

像这样:

$(document).ready(function() {
    $("#text-area").tokenInput("", {
        theme: "facebook",
        prePopulate: [
                      {"id":"04d0d4b2-ac25-11e1-96a5-9787dec335c2","name":"Group 1","description":"Description of Patent Group 1","order":56250000,"is_deleted":false},
                      {"id":"9d4f6e5c-dd73-11e1-bed3-fbfe082dc‌​761","name":"Group 3","description":"Description of Patent Group 3","order":70312500,"is_deleted":false},
                      {"id":"06d0d4b2-ac25-11e1-96a5-9787dec33‌​5c2","name":"Group 2","description":"Description of Patent Group 2","order":84375000,"is_deleted":false}
                     ],
        resultsFormatter: function(item){ return "<li>" + "<img src='" + item.url + "' title='" + item.name + "' height='25px' width='25px' />" + "<div style='display: inline-block; padding-left: 10px;'><div class='full_name'>" + item.description + " " + item.order + "</div><div class='email'>" + item.is_deleted + "</div></div></li>" },
        tokenFormatter: function(item) { return "<li><p>" + item.name + " <b style='color: red'>" + item.description + "</b></p></li>" },
    });
});
于 2012-08-23T12:43:21.370 回答
2

您可以使用 onAdd、onDelete 函数将所选项目描述、订单存储到某个变量中。

onAdd:function(item)
{
    alert(item.description);
    alert(item.order);
    //push into array
}
onDelete:function(item)
{
    //remove from array
}
于 2013-08-26T13:01:52.093 回答