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";
}
});
}
上面是1级下拉列表框的实现,下面是二级下拉列表框的实现。
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 "[]";
}
}
分享到:
相关推荐
这里我们讨论的“JQuery写的日期级联下拉菜单”是一个利用jQuery库实现的交互式用户界面组件,允许用户通过三个连续的下拉列表分别选择年、月和日。这种设计使得用户能够快速、准确地输入日期,同时保持页面的简洁性...
网上找了很久这种菜单,浪费了很多时间,实在没办法,只好老老实实去官网上按说明弄了一个,并更新了,jquery1.5.2, 希望给有需要的朋友可以节约一点时间,欢迎交流,qq:170262
总之,通过结合Java Web技术和数据库,我们可以实现动态的二级级联下拉菜单,为用户提供直观且易于操作的界面。这个过程涉及到数据库设计、后端服务开发以及前端交互等多个环节,对提升开发者综合能力非常有帮助。
在这个“jQuery+ajax实现三级级联”的实例中,我们主要探讨如何利用这两种技术来创建一个能够逐级联动的下拉菜单系统,这在数据筛选和表单填写中十分常见,如地区选择、部门分类等场景。 首先,jQuery是一个轻量级...
`jQuery Casecader` 是一个用于构建级联下拉菜单的插件,适用于那些需要多级选择或者联动效果的Web应用。在JavaScript开发中,特别是在前端交互设计中,这种组件非常常见,能够帮助用户通过下拉选项来筛选和导航数据...
本文将深入探讨如何使用jQuery实现级联效果,这种效果常见于下拉菜单、多级选择器和联动筛选等场景。级联效果意味着一个选择会影响另一个相关的选择,从而提供更精细的用户交互体验。 首先,级联效果通常涉及到多个...
在级联下拉菜单的实现中,.ashx文件将作为服务器端的数据提供者,接收Ajax请求,处理业务逻辑,然后以Json格式返回关联数据。 Ajax,即异步JavaScript和XML,是实现网页无刷新更新的关键技术。在级联下拉菜单中,当...
至于压缩包中的"级联"文件,这可能是一个包含jQuery级联下拉插件的JavaScript文件,可能包含了上述提到的`.related()`函数的实现和其他辅助功能。为了使用这个插件,你需要将这个文件引入到你的HTML页面中,并按照...
在网页设计中,级联下拉列表是一种常见的交互元素,它允许用户在多个下拉菜单之间建立关联,根据前一个菜单的选择动态更新后一个菜单的内容。这种功能在数据过滤、地区选择、分类导航等场景中非常实用。本教程将深入...
在HTML中创建级联下拉菜单的元素,插件会自动把这些元素转化为具有级联效果的交互组件。最后,根据实际需求调整插件的配置,比如数据源、初始值、事件处理等。 总的来说,jQuery城市级联插件通过简洁的代码实现了...
在本文中,我们将深入探讨如何使用JSP、JSON和MySQL来实现一个二级级联下拉菜单。这个功能常用于网站的表单设计中,让用户能够从相关联的分类中选择选项,例如省份与城市的选择。 首先,让我们了解这三个技术的核心...
本话题将详细介绍如何使用select2来实现一个具有省市区三级联动效果的下拉菜单。 首先,我们要理解什么是“级联”或“联动”。在前端开发中,级联通常指的是一个下拉菜单的选择会影响另一个下拉菜单的选项。在这种...
3. `area.js`:这可能是主要的业务逻辑文件,其中包含了获取和处理省市区数据的代码,以及使用jQuery实现级联下拉菜单的逻辑。它可能通过Ajax从服务器获取数据,或者直接使用本地的`area.json`和`area_nocounty.json...
本篇将深入探讨如何利用`jQuery 1.8.3`版本实现横排和竖排的下拉菜单,以及在实际项目中的应用。 首先,我们了解`jQuery`的基本概念。`jQuery`简化了JavaScript的DOM操作、事件处理和动画效果,使得开发者能够更...
实用jQuery省市区三级城市级联下拉菜单选择插件jQuery cxSelect,功能强大非常不错的jQuery插件, 支持省市区三级联动以及全球国家城市的联动,数据采用JSON格式导入,非常方便的,强大的参数 自定义功能,还可以...
在本教程中,我们将深入探讨如何使用jQuery 1.9.1实现横排与竖排的下拉菜单。 **1. jQuery简介** jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。jQuery 1.9.1是...
级联菜单常用于下拉选择,当用户选择一个选项时,它会触发另一个下拉菜单的显示或更新。在jQuery中,我们可以监听`change`事件,然后使用`$.ajax()`方法发送请求到服务器,获取相应的级联数据。返回的数据可以是JSON...
以下是一个简单的jQuery示例,展示了如何实现级联下拉列表: ```javascript $(document).ready(function() { $('#province').on('change', function() { var selectedProvince = $(this).val(); // 使用Ajax获取...
在本项目中,Ajax被用来实现级联菜单的效果,即一个下拉菜单的选择会影响另一个下拉菜单的内容,这种交互方式常见于数据层级关系丰富的表单中。下面将详细介绍Ajax实现级联菜单的相关知识点。 1. **异步通信**: ...
级联下拉菜单jQuery插件,它允许您根据先前的选择来填充一组表单下拉菜单。演示版基本用法要使用该插件而不覆盖任何默认设置,您需要使用多个下拉(选择)菜单创建表单的结构。 在以下示例中,我正在使用<form>...