【问题标题】:Bootstrap tagsinput Add item issue引导标签输入添加项目问题
【发布时间】:2015-08-12 13:46:46
【问题描述】:

所以,我今天开始使用这个引导标签输入,我尝试的第一件事是动态地添加一个新标签,我现在花了大约一个小时来完成这个简单的任务,但我仍然遇到同样的问题。 这是我正在使用的代码:

$("#test").tagsinput({
    allowDuplicates: true,
    itemValue: function(item) { return item._id; },
    itemText: function(item) { return item.name; }
});

$("#test").tagsinput('add', {_id: 1, name: 'Testing'});

我得到的结果是:Uncaught Can't add objects when itemValue option is not set 但正如你所看到的,我确实设置了 itemValue。我还将代码放在JSFiddle file 中,以便您测试。我注意到不仅没有设置 itemValue,而且没有设置我的选项,因为我也不能复制标签(但我允许它在选项上)。

有人知道发生了什么吗?

【问题讨论】:

    标签: javascript jquery twitter-bootstrap bootstrap-tags-input


    【解决方案1】:

    首先:

    只需将 data-role="tagsinput" 添加到您的输入字段即可自动将其更改为标签输入字段。

    我刚刚从this site获取了上面的文字。

    所以,如果你正在使用该属性(我在你的小提琴中看到它),你不应该以后在 javascript 上再次这样做。

    除此之外,itemValueitemText 属性,您应该只传递组件将在项目内部查看的属性的名称。

    $("#test").tagsinput({
        allowDuplicates: true,
        itemValue: '_id',
        itemText: 'name'
    });
    
    $("#test").tagsinput('add', {_id: 1, name: 'Testing'});
    

    您的小提琴已更新:http://jsfiddle.net/7fp5hh2j/3/

    【讨论】:

    • Erasing data-role="tagsinput" 我只能动态更改标签,我需要动态和手动(键入新标签)
    • 你需要那个_id吗?因为我认为实现你想要的唯一方法是使用 data-role 属性,然后直接添加但没有_id。
    • 是的,我有一个 MongoDB 模型,它有一个友好的名称(将显示给用户),但我需要它的 id 才能对其执行所有操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    相关资源
    最近更新 更多