三级联动 ,第三级的判断应该怎么写???

来源:3-8 实现二级联动菜单-2

Ctrlzhao

2019-11-25 11:59:11

http://img.mukewang.com/climg/5ddb518d096b1d1608200260.jpg

写回答

3回答

芝芝兰兰

2019-11-25

同学你好。这个判断如何书写和前台的ajax如何提交数据也有关系。参考同学另一个问答的处理方式:

}else if(level.equals("3")) {
            if(block.equals("zz")) {
                list.add(new Channel("zy","中原区"));
                list.add(new Channel("eq","二七区"));
                list.add(new Channel("gxq","高新区"));
            }else if(block.equals("gg")) {
                list.add(new Channel("gp","桂平市"));
                list.add(new Channel("gn","港南区"));
                list.add(new Channel("tt","覃塘区"));
            }else if(block.equals("gz")) {
                list.add(new Channel("py","番禺区"));
                list.add(new Channel("yx","越秀区"));
                list.add(new Channel("hp","黄浦区"));
            }
        }

这样的话对应的ajax应该将"data"传递到后台的变量名更改为对应的block,但获取的值,仍旧是触发这个事件的二级菜单中的值:

$(function(){
		$("#lv2").on("change" , function(){
			var parent = $(this).val();
			console.log(parent);
			$.ajax({
				"url" : "/ajax/provinces" , 
				"data" : {"level" : "2" , "block" : parent},
				"dataType" : "json" , 
				"type" : "get" ,
				"success" : function(json){
					console.log(json);
					//移除所有lv3下的原始option选项
					$("#lv3>option").remove();
					for(var i = 0 ; i < json.length ; i++){
						var ch = json[i];
						$("#lv3").append("<option value='" + ch.code +"'>" + ch.name + "</option>")
					}
				}
			})
		})
	})

其实是否重新定义String变量并不重要。重要的是它代表的含义。三级菜单将要展示的list值是由二级菜单中当前显示的值决定的。

如果解答了同学的疑问,望采纳~

祝学习愉快~

0

Ctrlzhao

提问者

2019-11-25

重新定义一个String变量c,if(c.equals("郑州")) {  }

0

Ctrlzhao

提问者

2019-11-25

是1还是2???

0

0 学习 · 9666 问题

查看课程