js创建下拉列表树

1、html


<tr>
<td align="right">
商品分类:
</td>
<td>
<select name="cat_id" onchange="hideCatDiv()">
<option value="">
请选择...
</option>
<%=categorySelect%>
</select>
<a href="javascript:void(0)" onclick="rapidCatAdd()"
title="添加分类" class="special">添加分类</a>
<span id="category_add" style="display: none;"> <input
class="text" size="10" name="addedCategoryName" /> <a
href="javascript:void(0)" onclick="addCategory()"
title=" 确定 " class="special"> 确定 </a> <a
href="javascript:void(0)" onclick="return goCatPage()"
title="分类管理" class="special">分类管理</a> <a
href="javascript:void(0)" onclick="hideCatDiv()" title="隐藏"
class="special"><<</a> </span>
<span><font color="red">*</font></span>
</td>
</tr>


2、js
addCategory:
  function addCategory()
{
var parent_id = document.forms['theForm'].elements['cat_id'];
var cat = document.forms['theForm'].elements['addedCategoryName'];
if(cat.value.replace(/^\s+|\s+$/g, '') == '')
{
alert(category_cat_not_null);
return;
}

//不能使用$,因为和prototype冲突
jQuery.ajax({
type: "POST",
url: "/trade/manager/goods/ajaxAddCategory.jsp",
data: "parent_id="+parent_id.value+"&cat_name="+cat.value,
success: addCatResponse
});

}


addCatResponse:
 function addCatResponse(response)
{

var category_add_div = document.getElementById("category_add");
category_add_div.style.display = 'none';

response = eval('('+response+')');
var selCat = document.forms['theForm'].elements['cat_id'];
var opt = document.createElement("OPTION");
opt.value = response.cat_id;
opt.selected = true;
opt.innerHTML = response.cat_name;


//获取子分类的空格数
var str = selCat.options[selCat.selectedIndex].text;
var lengOfSpace = str.length - response.cat_name.length;
if(response.parent_id != "")
{
lengOfSpace += 4;
}
for (i = 0; i < lengOfSpace; i++)
{
opt.innerHTML = ' ' + opt.innerHTML;
}

for (i = 0; i < selCat.length; i++)
{
if(selCat.options[i].value == response.parent_id)
{
if(i == selCat.length)
{
if (Browser.isIE)
{
selCat.add(opt);
}
else
{
selCat.appendChild(opt);
}
}
else
{
selCat.insertBefore(opt, selCat.options[i + 1]);
}
break;
}
}
return;
}


3、jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@page import="com.trade.category.CategoryInfo"%>

<%

//获取参数
String cat_name = "",parent_id="";
if(null != request.getParameter("cat_name")){
cat_name = request.getParameter("cat_name");
cat_name = new String(cat_name.getBytes("iso-8859-1"),"UTF-8");
}
if(null != request.getParameter("parent_id")){
parent_id = request.getParameter("parent_id");
}

String user_id = "";
if(null != session.getAttribute("SESSION_USER_ID")){
user_id = session.getAttribute("SESSION_USER_ID").toString();
}

CategoryInfo cInfo = new CategoryInfo();
int cat_level = cInfo.getParentIdCatLevel(parent_id)+1;
String cat_id = cInfo.addCategory(cat_name,cat_level,parent_id,user_id);

String result = "{cat_id:'"+cat_id+"',cat_name:'"+cat_name+"',parent_id:'"+parent_id+"'}";
out.write(result);
%>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值