例子,用jquery脚本实现级联下拉菜单。
复制代码 代码示例:
function show_hnbInfo()
{
var ss = Math.random();
$.ajax(
{
type : 'POST',
url : 'getAllHnbInfo',
data : 'id=' + ss,
success : function(msg)
{
// 清空表格
$("#internetID").empty();
// 转换成json对象
var data = JSON.parse(msg);
var option = "<option value="">请选择...</option>";
// 循环组装下拉框选项
$.each(data, function(k, v)
{
option += "<option value="" + v['internetID'] + "">" + v['hnbName'] + "</option>";
});
$("#internetID").append(option);
$("#internetID").change(function()
{
show_freqHnbInfo($(this).val());
});
},
error : function(msg, textStatus, e)
{
alert("当前登录用户失效,请重新登录。");
window.location = path + "/login.jsp";
}
});
}
以上是一级下拉列表框的实现,下面是二级下拉列表框的实现。
复制代码 代码示例:
function show_freqHnbInfo(internetId)
{
var ss = Math.random();
$.ajax(
{
type : 'POST',
url : 'getAllHnbOnlineOutByOne',
data : 'id=' + ss + '&internetId=' + internetId,
success : function(msg)
{
// 清空表格
$("#internetId").empty();
// 转换成json对象
var data = JSON.parse(msg);
var option = "";
// 循环组装下拉框选项
$.each(data, function(k, v)
{
option += "<option value="" + v['internetID'] + "">" + v['hnbName'] + "</option>";
});
if (internetId == "" || internetId == null || internetId == undefined)
{
option += "<option value="">请选择...</option>";
}
$("#internetId").append(option);
},
error : function(msg, textStatus, e)
{
alert("当前登录用户失效,请重新登录。");
window.location = path + "/login.jsp";
}
});
}
JSP代码实现:
复制代码 代码示例:
<script type="text/
javascript" src="${pageContext.request.contextPath}/script/config/freqCell.js"></script>
<script type="text/javascript">
var type = "${type }";
var path = "${pageContext.request.contextPath}";
show_hnbInfo();
show_freqHnbInfos();
</script>
<table width="60%" border="0" align="center" cellpadding="0" cellspacing="0" class="borderquan">
<tr>
<td width="25%" height="30" align="center" class="borderbottomright">基站名称</td>
<td width="75%" class="borderbottom"><label>
<select name="internetID" id="internetID" style="width:318px">
<option value="">请选择...</option>
</select>
<FONT SIZE="" COLOR="red">*</FONT>
<input type="hidden" name="type" id="type" value="${type }">
<span id="staError" style="font-size: 9pt; font-family: 黑体; color: red"></span>
</label></td>
</tr>
<tr>
<td width="25%" height="30" align="center" class="borderbottomright"><c:if test="${type=='intra' }">同频</c:if><c:if test="${type=='inter' }">异频</c:if>邻基站名称</td>
<td width="75%" class="borderbottom"><label>
<select name="internetId" id="internetId" style="width:318px">
<option value="">请选择...</option>
</select>
<FONT SIZE="" COLOR="red">*</FONT>
<span id="staErrors" style="font-size: 9pt; font-family: 黑体; color: red"></span>
</label></td>
</tr>
<tr>
<td height="30" colspan="2" align="center">
<input type="button" name="save" class="myBtn" value="保 存" onclick="submitForm();" />
<input type="button" name="backtrack" class="myBtn" value="返 回" onclick="goback();"/>
</td>
</tr>
</table>
后台代码:
controller代码
复制代码 代码示例:
@RequestMapping("/getAllHnbInfo")
public void getAllHnbByJosn(HttpServletRequest request, HttpServletResponse response)
{
PrintWriter out = null;
try
{
// 设置输出格式
response.setContentType("text/html");
// 页面输出对象
out = response.getWriter();
out.write(hnbService.getAllHnbByJosn());
out.flush();
out.close();
}
catch (Exception e)
{
logger.error(Global.LOG_EXCEPTION_NAME, e);
if (null != out)
{
out.write("[]");
out.flush();
out.close();
}
}
}
/**
* <获取所有基站名称和基站标识返回josn串>
* <功能详细描述>
* @param request
* @return
* @see [类、类#方法、类#成员]
*/
@RequestMapping("/getAllHnbOnlineOutByOne")
public void getAllHnbOnlineOutByOne(HttpServletRequest request, HttpServletResponse response)
{
PrintWriter out = null;
try
{
String internetId = request.getParameter("internetId");
// 设置输出格式
response.setContentType("text/html");
// 页面输出对象
out = response.getWriter();
out.write(hnbService.getAllHnbOnlineOutByOne(internetId));
out.flush();
out.close();
}
catch (Exception e)
{
logger.error(Global.LOG_EXCEPTION_NAME, e);
if (null != out)
{
out.write("[]");
out.flush();
out.close();
}
}
}
}
service代码:
复制代码 代码示例:
@Override
public String getAllHnbByJosn()
{
List<HnbInfo> hnbList = getHnbOnlineList();
if (null != hnbList)
{
StringBuffer sb = new StringBuffer();
sb.append("[");
//得到集合的长度
int size = hnbList.size();
int i = 0;
for (HnbInfo hnbInfo : hnbList)
{
i++;
String internetID = hnbInfo.getInternetID();
String hnbIdentifier = hnbInfo.getHnbIdentifier();
String hnbName = hnbInfo.getHnbName();
sb.append("{"internetID":"");
sb.append(internetID);
sb.append("","hnbIdentifier":"");
sb.append(hnbIdentifier);
sb.append("","hnbName":"");
sb.append(hnbName);
sb.append(""}");
//如果i小于size字符串sb中加","
if (i < size)
{
sb.append(",");
}
}
sb.append("]");
//拼好的字符串赋值给变量
return sb.toString();
}
else
{
return "[]";
}
}
@Override
public String getAllHnbOnlineOutByOne(String internetId)
{
// 根据基站ID 获取基站信息
InternetGatewayDevice internet = hnbDao.getOneHnbByInternetID(internetId);
if (null != internet && !Global.isEmpty(internet.getApIpAdress()))
{
// 根据基站注册
IP地址获取所有除基站注册IP地址对应的基站外的所有基站
List<HnbInfo> hnblist = getAllHnbOutByone(internet.getApIpAdress());
if (null != hnblist && hnblist.size() != 0)
{
StringBuffer sb = new StringBuffer();
sb.append("[");
//得到集合的长度
int size = hnblist.size();
int i = 0;
for (HnbInfo hnbInfo : hnblist)
{
i++;
String internetID = hnbInfo.getInternetID();
String hnbIdentifier = hnbInfo.getHnbIdentifier();
String hnbName = hnbInfo.getHnbName();
sb.append("{"internetID":"");
sb.append(internetID);
sb.append("","hnbIdentifier":"");
sb.append(hnbIdentifier);
sb.append("","hnbName":"");
sb.append(hnbName);
sb.append(""}");
//如果i小于size字符串sb中加","
if (i < size)
{
sb.append(",");
}
}
sb.append("]");
//拼好的字符串赋值给变量
return sb.toString();
}
else
{
return "[]";
}
}
else
{
return "[]";
}
}