【发布时间】: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