JSP使用JSON实现二级联动菜单

小弟今天使用JQUERY实现二级联动菜单,但是怎么调试都没有成功。
请教高手看看下面的代码,是什么地方出了问题。

test.jsp文件

Jsp代码 复制代码
  1. <%@ page contentType="text/html;charset=gb2312"%>   
  2. <html>   
  3. <title>联动菜单</title>   
  4. <script language="javascript" src="jquery.min.js"></script>   
  5. <script LANGUAGE="JavaScript" >   
  6. $(function(){   
  7.     $("#wc").change(function(){   
  8.         $.getJSON("gylx.jsp",{index:$(this).val()},function(myJSON){   
  9.             var myOptions="";   
  10.             for(var i=0;i<myJSON.length;i++){   
  11.                 myOptions+='<option>'+myJSON.optionValue+'</option>';   
  12.             }    
  13.             $("#gx").html(myOptions);   
  14.         });         
  15.     });   
  16.     $("#wc").change();   
  17. })   
  18. </script>   
  19. <body>   
  20.      <select name="wc" id="wc">   
  21.      <option>一</option>   
  22.      <option>二</option>   
  23.      <option>三</option>   
  24.    </select>   
  25.       <select name="gx" id="gx">   
  26.       </select>   
  27. </body>   
  28. </html>  
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<title>联动菜单</title>
<script language="javascript" src="jquery.min.js"></script>
<script LANGUAGE="JavaScript" >
$(function(){
    $("#wc").change(function(){
        $.getJSON("gylx.jsp",{index:$(this).val()},function(myJSON){
            var myOptions="";
            for(var i=0;i<myJSON.length;i++){
                myOptions+='<option>'+myJSON.optionValue+'</option>';
            } 
            $("#gx").html(myOptions);
        });      
    });
    $("#wc").change();
})
</script>
<body>
     <select name="wc" id="wc">
     <option>一</option>
     <option>二</option>
     <option>三</option>
   </select>
      <select name="gx" id="gx">
      </select>
</body>
</html>



gylx.jsp

Jsp代码 复制代码
  1. <%@ page contentType="text/html;charset=gb2312"%>   
  2. <%   
  3. response.setHeader("no-cache");   
  4. response.addHeader("pragma","no-cache");   
  5.   
  6. String index = new String(request.getParameter("index").getBytes("iso8859-1"),"gb2312");   
  7. String JSON_text ="";   
  8.   
  9. if(index.compareTo("一")==0)   
  10.   JSON_text ="[{optionValue:'一一'},{optionValue:一二}]";   
  11. else if(index.compareTo("二")==0)   
  12.   JSON_text ="[{optionValue:'二一'},{optionValue:二二}]";   
  13. else if(index.compareTo("三")==0)   
  14.   JSON_text ="[{optionValue:'三一'},{optionValue:三二}]";   
  15.   
  16. out.println(JSON_text);   
  17. %>  
<%@ page contentType="text/html;charset=gb2312"%>
<%
response.setHeader("no-cache");
response.addHeader("pragma","no-cache");

String index = new String(request.getParameter("index").getBytes("iso8859-1"),"gb2312");
String JSON_text ="";

if(index.compareTo("一")==0)
  JSON_text ="[{optionValue:'一一'},{optionValue:一二}]";
else if(index.compareTo("二")==0)
  JSON_text ="[{optionValue:'二一'},{optionValue:二二}]";
else if(index.compareTo("三")==0)
  JSON_text ="[{optionValue:'三一'},{optionValue:三二}]";

out.println(JSON_text);
%>

该问题已经关闭: 被自己搞定了。。 因为$(this).val()作为getJSON的参数,不能是中文,在代码中,当下拉框的value值为一二三的时候,就无法传递参数,当为123的时候,就没有问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值