2013-03-28 25 views
2

因此,這是我的選擇2輸入角UI 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]; 

這使得SELECT2與標籤tag1, tag4轉身ProjectTagpr

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

現在第一個問題 我可以做它,所以它(既ID和文本,而不是隻是對象ID數組)保持原有ProjectTagpr結構?

而第二個問題 如果我添加一個新的標籤,說newtag5,這將擴大ProjectTagpr喜歡的東西{id: 1554894854, text: 'newtag5', new: true},現在當我按下保存,我想我的$ HTTP更新在原有data select2,所以它在那裏添加newtag5(當然,從數據庫返回id,沒有new: true),我該怎麼做?

我試圖做$scope.tagOptions.data = dataReturnedFromHttp;但顯然(與否)沒有工作..

+0

到目前爲止,我只設法通過破壞選擇2(),並與更新的選項重新初始化它做它..這吮吸。 – foxx 2013-03-28 14:37:58

回答

4

這其實相當簡單

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

那麼它幾乎是實時綁定。

只是,它以某種方式無證,你可以傳遞數據的功能..