Así que esta es mi entrada select2
donde en tagOptions
es
{ 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}; } }
y ProjectTagpr
es
[301, 304];
que representa select2 con las tags tag1, tag4
y convierte ProjectTagpr
en
[{"id":301,"text":"tag2"},{"id":304,"text":"tag4"}]
Ahora, la primera pregunta ¿Puedo hacerlo para que mantenga la estructura original de ProjectTagpr
(solo una matriz de identificadores, en lugar de un objeto con identificador y texto)?
Y la segunda pregunta Si agrego una nueva etiqueta, digo newtag5
, expandiría ProjectTagpr
con algo como {id: 1554894854, text: 'newtag5', new: true}
, ahora cuando {id: 1554894854, text: 'newtag5', new: true}
guardar y me gustaría $ http para actualizar los data
originales en el select2, para que agregue el newtag5 allí (por supuesto, devuelto con id desde la base de datos y sin ese new: true
), ¿cómo haría esto?
Intenté hacer $scope.tagOptions.data = dataReturnedFromHttp;
pero eso obviamente (o no) no funcionó ..
En realidad es bastante simple.
data: function() { return {'results': $scope.data}; }
entonces es prácticamente unida en vivo.
Es solo que de alguna manera no está documentado, que puede pasar datos a una función …