所以这是我的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;
,但显然(或没有)不起作用..
答案 0 :(得分:4)
实际上相当简单
data: function() {
return {'results': $scope.data};
}
然后它几乎是现场绑定的。
只是它在某种程度上没有记录,你可以传递数据函数..