我的代码和老师的一样为什么实现不了?

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

慕先生8145006

2019-10-08 19:35:19

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript" src="js/jquery-3.3.1.js"></script>

<script type="text/javascript">

$(function(){

$.ajax({

"url" : "/ajax/channel",

"data" : {"level" : "1"},

"type" : "get" , 

"dataType" : "json" , 

"success" : function(json){

console.log(json);

for(var i = 0 ; i < json.length ; i++){

var ch = json[i];

$("#lv1").append("<option value='" + ch.code + "'>" + ch.name + "</option>")

}

}

})

})

$(function(){

$("#lv1").on("change" , function(){

var parent = $(this).val();

console.log(parent);

$.ajax({

"url" : "/ajax/channel" , 

"data" : {"level" : "2" , "parent" : parent},

"dataType" : "json" , 

"type" : "get" ,

"success" : function(json){

console.log(json);

//移除所有lv2下的原始option选项

$("#lv2>option").remove();

for(var i = 0 ; i < json.length ; i++){

var ch = json[i];

$("#lv2").append("<option value='" + ch.code +"'>" + ch.name + "</option>")

}

}

})

})

})


</script>

</head>

<body>

<select id="lv1" style="width:200px;height:30px">

<option selected="selected">请选择</option>

</select>

<select id="lv2" style="width:200px;height:30px"></select>

</body>

</html>

package com.imooc.ajax;


import java.io.IOException;

import java.util.ArrayList;

import java.util.List;


import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import com.alibaba.fastjson.JSON;


/**

 * Servlet implementation class ChannelServlet

 */

@WebServlet("/channel")

public class ChannelServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public ChannelServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String level = request.getParameter("level");

String parent = request.getParameter("parent");

List chlist = new ArrayList();

if(level.equals("1")) {

chlist.add(new Channel("ai" , "前沿/人工智能/区块链"));

chlist.add(new Channel("web" , "前端/小程序/js"));

}else if(level.equals("2")) {

if(parent.equals("ai")) {

chlist.add(new Channel("micro" , "微服务"));

chlist.add(new Channel("blockchain" , "区块链"));

chlist.add(new Channel("other" , "..."));

}else if(parent.equals("web")) {

chlist.add(new Channel("html" , "HTML"));

chlist.add(new Channel("css" , "CSS"));

chlist.add(new Channel("other" , "..."));

}

}

String json = JSON.toJSONString(chlist);

response.setContentType("text/html;charset=utf-8");

response.getWriter().println(json);

}


}

package com.imooc.ajax;


public class Channel {

private String code;

private String name;

public Channel() {

}

public Channel(String code, String name) {

super();

this.code = code;

this.name = name;

}

public String getCode() {

return code;

}

public void setCode(String code) {

this.code = code;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}


写回答

2回答

好帮手慕小班

2019-10-09

同学你好,这里老师复制运行贴出代码,是可以正常实现的呐,例如:

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

这里同学可以清理一下缓存,再来重新启动一下,或者同学创建一个新的项目,将这些代码复制粘贴过去,再试一下。

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

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

慕先生8145006

提问者

2019-10-08

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

0

0 学习 · 9666 问题

查看课程