最近在使用这个treeselect自定义标签时候,发现直接在标签里写事件是会报错的,几经摸索发现需要在改造一下这个标签,话不多说,代码如下:
treeselect.tag中
首先定义属性
<%@ attribute name="onchange" type="java.lang.String" required="flase" description="onchange事件"%>``
定义相关js方法,如果页面有多个相同形式的选择框,可以多定义几个js方法
if(${isOnChange=='1'}){
// isOnChange 标识用于选择控件选择完毕后,执行相关JS方法
// ids.join(",").replace(/u_/ig,"") : 所选值的id
// publicMethod : 如有需求在相应JSP页面写publicMethod(id){...}即可
publicMethod(ids.join(",").replace(/u_/ig,""));
}
if(${isOnChange=='2'}){
publicMethod2(ids.join(",").replace(/u_/ig,""));
}
${onchange}
jsp页面
重写js方法
function publicMethod(id){
//id为控件选择框某个值的对应id,也可以是一串id,用逗号隔开
//在这里写上你需要执行的方法。
}
页面标签
<sys:treeselect id="id" name="name" value="${list.id}" labelName="label" labelValue="${list.label}" title="xxxx" url="/url" cssClass="class" isOnChange="1" />
好了,这样一个onchange事件就完成了!
treeselect.tag源码下载:[https://download.csdn.net/download/weixin_42230138/10936118]