用jquery生成二级菜单


页面中的函数

		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>');
						$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:property value='article.subChannel.channel.channelId'/>,<s:property value='article.subChannel.subId'/>);
		});

页面代码:

				<tr>
                    <th>一级栏目</th>
                          <td valign="middle">
                          	<s:select id='_channel' list="channelList" listKey="channelId"
                          		listValue="channelName" 
                          		key="article.subChannel.channel.channelId"
                          		οnchange="querySub(this.value)"></s:select>
                          </td>
                 </tr>
                 <tr>
                    <th>二级栏目</th>
                          <td valign="middle">
                          <s:select name='article.subChannel.subId' list="{}" headerKey="" headerValue="-请选择-"></s:select>
                          <!--<s:property value="article.subChannel.subName"/>
                          --></td>
                 </tr>




服务器端

服务器端

	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<String,Object>> list = new LinkedList<Map<String,Object>>();
			if(channelId!=null && !channelId.equals("")){
				Channel tmp = new Channel();
				tmp.setChannelId(Integer.parseInt(channelId));
				subChannelList = subChannelDAO.listSubChannel(tmp);
				
				for(Object oo:subChannelList){
					Map<String,Object> obj = new HashMap<String,Object>();
					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;
	}

其实蛮简洁的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值