关于下拉联动只能生效一次的问题
超级火山 发布于8月前 5答/306阅

我的原始需求是:下拉框进行联动,js代码为
// 联动
    $a.eovacombo({onChange: function (oldValue, newValue) {
            $b.eovacombo().setValue("");

            if (newValue == "") {
                $b.mask();
                return;
            }

            $b.unmask();

            $b.eovacombo({exp : 'selectTest,' + newValue}).reload();
    }});

对应的config代码为

@Override
	protected void exp() {
		super.exp();
		// 区域级联查询
		exps.put("selectTest", "select c_1 ID,c_2 CN from table where c_3 =1 and c_4 =?");
		
	}


实现过程中遇到的问题:
在第一次联动是成功的,例如选择a后,b的下拉框值为(1,2,3),当后续再选择a为其他值时,b的下拉框数据没有跟着联动,仍然是(1,2,3),直接在浏览器中输入下面代码

http://localhost:8080/project/widget/comboJson?exp=selectTest,18

即使改变了最后的参数,返回的数据仍然不变..

我觉得这个问题的原因是:用户退出重新进、清除缓存都无效,只有重启服务




[沙发] Jieven
@超级火山 可能是启用了缓存, 请检查ehcache.xml 配置文件, 请检查最近是否进行过版本升级.
最佳
[地板] Jieven
@超级火山 代码貌似没问题, 可以测试一下, 默认Demo中 好像是酒店管理 里面的省市区 级联时候正常, 如果demo正常 对比一下差异 可找到问题.
[地毯] Jieven
@超级火山 另外需关注 浏览器控制台是否有异常?
[4楼] 超级火山
@Jieven 控制台不报错,另外:不通过页面,直接在config里面写好key和查询sql,放在exp中,然后用浏览器直接输入上面的访问地址,仍然是只有第一次生效,很奇怪...
我用的数据库是oracle
[5楼] 超级火山
@Jieven 确实是缓存的问题,现在已经解决了,多谢
提交评论