为什么parent在控制台输出不了?

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

慕先生8069638

2019-07-20 18:22:09

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

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

<script type="text/javascript">

$(function(){

$.ajax({

"url":"/jquery/part",

"type":"get",

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

"dataType":"json",

"success":function(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);

})

})

</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.jquery;


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("/part")

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","..."));

}

}

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

String json=JSON.toJSONString(chlist);

response.getWriter().println(json);

}


}


写回答

1回答

好帮手慕阿满

2019-07-20

同学你好,选择具体的一级分类后,是可以显示,但是显示的ch.code,如:

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

在设置option标签时,设置value为ch.code,如:

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

所以这里获取的是ch.code。如果将这里value='ch.code'去掉,可以获取具体的分类信息。

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

0

0 学习 · 10204 问题

查看课程