【问题标题】:angular-ui select2 tagging update the data valueangular-ui select2 tagging 更新数据值
【发布时间】:2013-03-18 19:15:21
【问题描述】:

这是我的 select2 输入

<input type="hidden" ng-model="ProjectTagpr" class="input-large" ui-select2="tagOptions" />

tagOptions 的位置是

{
    data: [{"id":301,"text":"tag2"},{"id":302,"text":"tag2"},{"id":303,"text":"tag3"},{"id":304,"text":"tag4"}],
    multiple: true,
    createSearchChoice: function(term) {
        var timestamp = new Date().getTime();
        return {id: timestamp, text: term, new: true};
    }
}

ProjectTagpr

[301, 304];

使用标签 tag1, tag4 渲染 select2 然后将 ProjectTagpr 转为

[{"id":301,"text":"tag2"},{"id":304,"text":"tag4"}]

现在是第一个问题 我可以让它保持原来的 ProjectTagpr 结构(只是一个 id 数组,而不是同时具有 id 和文本的对象)吗?

还有第二个问题 如果我添加一个新标签,比如newtag5,它会扩展ProjectTagpr 类似{id: 1554894854, text: 'newtag5', new: true},现在当我按下保存时,我希望我的$http 更新select2 上的原始data,所以它在那里添加了 newtag5(当然是从数据库返回的 id 并且没有 new: true),我该怎么做?

我尝试做$scope.tagOptions.data = dataReturnedFromHttp;,但显然(或没有)没有用..

【问题讨论】:

  • 到目前为止,我只能通过销毁 select2() 并使用更新的选项重新初始化它来做到这一点......这很糟糕。

标签: jquery angularjs angular-ui jquery-select2


【解决方案1】:

其实很简单

data: function() {
   return {'results': $scope.data};
}

那么它几乎是实时绑定的。

只是它以某种方式没有记录,您可以将数据传递给函数..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-22
    • 2018-06-12
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多