angular-ui select2标记更新数据值

时间:2013-03-28 11:14:11

标签: jquery angularjs angular-ui jquery-select2

所以这是我的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和text的对象)?

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

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

1 个答案:

答案 0 :(得分:4)

实际上相当简单

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

然后它几乎是现场绑定的。

只是它在某种程度上没有记录,你可以传递数据函数..