问题背景
新增功能的时候,要写一个省市区联动的下拉选框,在selelct标签中添加了onchange去调用函数访问对应的接口,使用的是jsp、layui。结果onchange调用的函数根本不被执行,百度的方法是要在页面加载的时候对标签进行绑定。尝试之后依然无法执行onchange中的函数。
问题解决
前端页面加载的时候,会使用layui进行渲染,渲染出来的下拉选框的标签不是<option>,是<dd>,导致其中的方法没有被执行。查找官方文档之后,发现选框的方法要使用form.use包裹,按照官网的方法尝试后问题解决。
官方文档:https://www.layuiweb.com/doc/index.htm
总结&后话
jsp技术真的太老了,后端强行写前端真的很难写好,连断点都没办法打,找不到问题出在哪里。拉了个前端的同事过来,同事是写vue的,也不会jsp,但好歹比我经验丰富些,指出了可能是layui的问题,查找了文档之后,问题很顺利的被解决了。
再遇到这种问题的时候,可以考虑一下是不是因为前端的框架原因导致的原生方法不执行。
网友评论