luci-base: cbi: refactor event handling js
[project/luci.git] / modules / luci-base / luasrc / view / cbi / mvalue.htm
1 <% local v = self:valuelist(section) or {} -%>
2 <%+cbi/valueheader%>
3 <% if self.widget == "select" then %>
4         <select class="cbi-input-select" multiple="multiple" data-update="click change"<%= attr("name", cbid) .. ifattr(self.size, "size") %>>
5         <% for i, key in pairs(self.keylist) do -%>
6                 <option<%= attr("id", cbid.."-"..key) .. attr("value", key) .. ifattr(luci.util.contains(v, key), "selected", "selected") .. attr("data-index", i) .. attr("data-depends", self:deplist2json(section, self.deplist[i])) %>><%=striptags(self.vallist[i])%></option>
7         <%- end %>
8         </select>
9 <% elseif self.widget == "checkbox" then
10         local c = 0;
11         for i, key in pairs(self.keylist) do
12         c = c + 1
13 %>
14         <input class="cbi-input-checkbox" type="checkbox" data-update="click change"<%= attr("id", cbid.."-"..key) .. attr("name", cbid) .. attr("value", key) .. ifattr(luci.util.contains(v, key), "checked", "checked") .. attr("data-index", i) .. attr("data-depends", self:deplist2json(section, self.deplist[i])) %> />
15         <label<%= attr("for", cbid.."-"..key) %>><%=self.vallist[i]%></label><br />
16 <% if c == self.size then c = 0 %><br />
17 <% end end %>
18 <% end %>
19 <%+cbi/valuefooter%>