根据在Openwrt Luci中选择的无线电选项,文本框需要是可见的或隐藏的

时间:2016-03-20 09:20:11

标签: luci

我想基于在openWRT Luci中选择的无线电选项来显示或隐藏文本框。

有没有办法避免使用JavaScript?

提前致谢

1 个答案:

答案 0 :(得分:0)

是的Rahhanhbh它可以在openwrt luci中使用,你需要使用依赖。基于luci documentation,让我们描述一下如何运作。

CBI为选项对象提供:depends()方法,允许根据其他字段中的值动态显示或隐藏对象字段。

该方法被称为 obj:depends(some_other_option,value)。 "取决于"参数与" OR"

相关联

- 现在举个例子

local t=require"luci.model.network".init()
local e=require"luci.model.firewall".init()
local i=require"luci.util"
local e=require"luci.model.uci".cursor()
local u=require"luci.sys".net

- 创建模型

m = Map("firewall1", translate("firewall"))
s = m:section(NamedSection, "dmz", "")

- 创建单选按钮

f1 = s:option(ListValue, "dmz", "Current DMZ Status:") -- Creates an element list (select box)
f1.widget="radio"
f1:value("disable", "Disable") -- Key and value pairs
f1:value("enable", "Enable")
f1.default = "disable"
function f1.write(self, section, value)
    return Flag.write(self, section, value)
end

- 的文本框

f2=s:option(Value,"netmask1")
f2:depends("dmz","disable")
function f2.cfgvalue(self,section)
    local val = self.map:get(section, "netmask")--Value.cfgvalue(self, section)
    return val
end

- 返回模式

return m;
文本框 netmask1 上面的

取决于单选按钮 dmz