用jquery生成二级菜单的实例代码

2022-01-13,,,,

这篇文章介绍了用jquery生成二级菜单代码,需要的朋友可以参考一下

javascript

页面中的函数
复制代码 代码如下:
function querySub(id,sid/*选中的项*/){
$.post('${path}/page/article/querySubChannelArticle.action',
                {'channelId':id},function(data){
                    $('select[name="article.subChannel.subId"] option[value!=""]').remove();
                    var jsonObj = data;   
                    for ( var i = 0; i <jsonObj.length; i++) {
                        var $option = $('');
                        $option.attr('value',jsonObj[i].subId);
                        if(jsonObj[i].subId === sid){
                            $option.attr('selected',true);
                        }
                        $option.text(jsonObj[i].subName);
                        $('select[name="article.subChannel.subId"]').append($option);
                    }
                });
        }

        $(function(){
            querySub(,);
        });
 
页面代码:
复制代码 代码如下:

                   

一级栏目

                         

                            <s:select id='_channel' list="channelList" listkey="channelId"
                                listValue="channelName" 
                                key="article.subChannel.channel.channelId"
                                onchange="querySub(this.value)">

                         

                

                

                   

二级栏目

                         

                         
                          <!--
                          -->

                

服务器端

复制代码 代码如下:
 public String querySubChannelArticle(){ 
        HttpServletResponse response=getResponse();
        HttpServletRequest request=getRequest();
        response.setContentType("application/json; charset=UTF-8");
        PrintWriter out =null;
        try {
            out = response.getWriter();

            List<Map> list = new LinkedList<Map>();
            if(channelId!=null && !channelId.equals("")){
                Channel tmp = new Channel();
                tmp.setChannelId(Integer.parseInt(channelId));
                subChannelList = subChannelDAO.listSubChannel(tmp);

                for(Object oo:subChannelList){
                    Map obj = new HashMap();
                    SubChannel c = (SubChannel)oo;
                    obj.put("subId", c.getSubId());
                    obj.put("subName", c.getSubName());
                    list.add(obj);
                }
            }
            String outStr = JsonUtil.toJSONStr(list);
            out.println(outStr);
        }catch(Exception e){
        e.printStackTrace();
        }
        out.flush();
        out.close();
        return null;
    }  

其实蛮简洁的

以上就是用jquery生成二级菜单的实例代码的详细内容,更多请关注本站其它相关文章!

《用jquery生成二级菜单的实例代码.doc》

下载本文的Word格式文档,以方便收藏与打印。