并列三级联动菜单
????? 近日在项目中用到了三级联动菜单,而且是并列的,就是在点击A的时候,B和C会根据A的变化都发生相应的变化,用的是当A的值发生变化时,就是触发一个事件,页面用的是 js 的 onchange() 事件,然后使用 Ajax 向后台发送一个请求,同时把A的 id 传送过去,因为是并列三级联动,所以在 onchange() 触发的方法里,需要处理两个请求,就是让B和C的值都发生变化,这里我是采用调用两个方法执行的,我发现如果按平时的写法,第一个方法会不执行,就是B的值没有发生变化,光C的值变拉,这样达不到并列联动的目的,我想这可能是因为每个脚本触发的方法都要和后台的程序交互,后台又要访问数据库,运行需要一定的时间,如果两个方法按普通的写法:? b(); c(); 这样的话,b()会来不及执行完就去执行 c() 啦,所以可能需要给 b() 一些时间让 b() 去执行完整个程序,我就使用了延时的方法: setTimeout(),让 c() 延时500毫秒执行,这样就可以让 b() 充分地运行完毕,当然,这样也有一些不足,就是在页面显示的时候,看C的变化会稍有一些延迟,因为毕竟比 b() 晚0.5 秒执行,也是一个美中不足的地方,呵呵,各位如果有更好的方法,可以拿出来共享一下。
1 楼 sd6052083 2008-11-15 前天刚好做了一个三级联动菜单