OSDN Git Service

t#:
[pettanr/pettanr.git] / app / assets / javascripts / locmare / form / field / tag / select.js.coffee
index 96437e2..f7c43e8 100644 (file)
@@ -4,24 +4,37 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod
     'change': 'change'\r
   }\r
   \r
+  initialize: (options) ->\r
+    super(options)\r
+    @option_tags = []\r
+  \r
   render: () ->\r
+    this.$el.html('')\r
+    this.$el.attr(@attr())\r
+    @option_tags = []\r
     @select_values((members) =>\r
       values = if @model_attribute_manifest().source.translate()\r
         Pettanr.AppHelper.t_select_items(members)\r
       else\r
         members\r
-      this.$el.html('')\r
-      this.$el.attr(@attr())\r
       _.each values, (member) =>\r
         selected = if @is_selected(member)\r
           ' selected'\r
         else\r
           ''\r
-        this.$el.append('<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>')\r
+        tag = '<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>'\r
+        @option_tags.push(tag)\r
+        this.$el.append(tag)\r
       @trigger('ready:select')\r
     )\r
     this\r
   \r
+  refresh: () ->\r
+    this.$el.html('')\r
+    this.$el.attr(@attr())\r
+    _.each @option_tags, (tag) =>\r
+      this.$el.append(tag)\r
+  \r
   val: () ->\r
     switch @model_attribute_manifest().type\r
       when 'number'\r