T4下的省市二级联动菜单组件

我在论坛中曾讨论过一个组件,就是可以实现省市联动二级下拉列表。它的原理就是该组件通过Ajax方式向绑定的二级列表组件输入相应的城市数据。
1.lib配置:
把lintw_jwc.jar(附件)导入项目的lib下。
在application文件中添加组件库声明
<library id="extlib"
specification path="classpath:/com/lintw/jwc/lin.library"/> 。
2.BaseAjax组件:
我给凡使用Ajax功能的组件另配置了一个组件BaseAjax,该组件必需先被引用。
[html]:<span jwcid="baseAjax"/>(一般放在<body>后面)
[page]:<property name="functionName"/>
<component id="baseAjax" type="extlib:BaseAjax">
<binding name="functionName" value="functionName"/>
</component>
functionName是一个由BaseAjax输出的javascript方法名,供其它组件调用。
3.联动列表组件例子:
[html]:
<p><form action="" method="post" name="selectForm" jwcid="selectForm">
<p><select name="cityPropertySelect" jwcid="cityPropertySelect">
<option value="fj">福建</option>
</select>
</p><p><select name="citySelect" jwcid="citySelect">
<option value="xm">厦门</option>
<option value="fz" selected>福州</option>
</select>
</p><P><input type="submit" name="Submit" value="提交"/></P>
</form>
[page]:
<component id="selectForm" type="Form">
<binding name="listener" value="listener:selectSubmit"/>
</component>
<property name="pvalue"/>
<asset name="citySelect" path="context:/menuxml/citySelectItem.xml"/>
<component id="cityPropertySelect" type="linlib:CityPropertySelection">
<binding name="functionName" value="functionName"/>
<binding name="value" value="pvalue"/>
<binding name="xmlModel" value="asset:citySelect"/>
<binding name="nextSelectionName" value="literal:citySelect"/>
</component>
<property name="value"/>
<asset name="defaultSelect" path="context:/menuxml/defaultSelectItem.xml"/>
<component id="citySelect" type="linlib:XMLSelect">
<binding name="value" value="value"/>
<binding name="xmlModel" value="asset:defaultSelect"/>
</component>
地址数据就放在context:/menuxml/citySelectItem.xml中(数据很少 :D )。
cityPropertySelect就是联动组件,nextSelectionName属性(String)为要绑定的二级列表组件的id。
citySelect可以是普通的select组件(这里我用自己写的XMLSelect组件)。
pvalue及value为各自的输出值。
4.结束语:
在附件里有源码及xml,有不足之处望各位大虾批评指正。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值