libs/web: support dependencies on mvalues
authorSteven Barth <steven@midlink.org>
Mon, 24 Jun 2013 12:00:20 +0000 (12:00 +0000)
committerSteven Barth <steven@midlink.org>
Mon, 24 Jun 2013 12:00:20 +0000 (12:00 +0000)
libs/web/htdocs/luci-static/resources/cbi.js
libs/web/luasrc/view/cbi/mvalue.htm

index a30533bda7bb2c11cb7247f9ad7a36691f1ecb01..e89658dc961b63db64d423e2b8d99a5245060bce 100644 (file)
@@ -335,7 +335,7 @@ function cbi_d_checkvalue(target, ref) {
        if (!t) {
                var tl = document.getElementsByName(target);
 
-               if( tl.length > 0 && tl[0].type == 'radio' )
+               if( tl.length > 0 && (tl[0].type == 'radio' || tl[0].type == 'checkbox'))
                        for( var i = 0; i < tl.length; i++ )
                                if( tl[i].checked ) {
                                        value = tl[i].value;
index 8b1afde943dc1a5c1c53da1c13941ee8670c580f..6a0b3881d0605e08347a7e07428ff3dda5e1a2ff 100644 (file)
@@ -1,7 +1,7 @@
 <% local v = self:valuelist(section) or {} -%>
 <%+cbi/valueheader%>
 <% if self.widget == "select" then %>
-       <select class="cbi-input-select" multiple="multiple"<%= attr("name", cbid) .. ifattr(self.size, "size") %>>
+       <select class="cbi-input-select" multiple="multiple" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)"<%= attr("name", cbid) .. ifattr(self.size, "size") %>>
        <% for i, key in pairs(self.keylist) do -%>
                <option<%= attr("value", key) .. ifattr(luci.util.contains(v, key), "selected", "selected") %>><%=striptags(self.vallist[i])%></option>
        <%- end %>
@@ -11,7 +11,7 @@
        for i, key in pairs(self.keylist) do
        c = c + 1
 %>
-       <input class="cbi-input-checkbox" type="checkbox"<%= attr("id", cbid..c) .. attr("name", cbid) .. attr("value", key) .. ifattr(luci.util.contains(v, key), "checked", "checked") %> />
+       <input class="cbi-input-checkbox" type="checkbox" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)"<%= attr("id", cbid..c) .. attr("name", cbid) .. attr("value", key) .. ifattr(luci.util.contains(v, key), "checked", "checked") %> />
        <label<%= attr("for", cbid..c) %>><%=self.vallist[i]%></label><br />
 <% if c == self.size then c = 0 %><br />
 <% end end %>