用js实现级联显示
2013-10-01 09:36
169 查看
其实就两个地方,一个是用来显示级联的html文件,一个是js的方法用局部刷新的方法把数据传回来并刷新。因为没有很多时间去写,所以大家看的懂的就看,我就是为了做个记录而已。
在这里我用了strut2的标签和ajax的异步调用。
假如你要显示的,一个是省, 一个是市。你要省的List<province>{id, name}和一个省里面全部市的集合List<city>{id, name}
好吧,下面就贴代码吧!!
html部分:
<tr>
<td>
<s:select name="systemName" id="systemId" onchange="updateChildTypeContent();" list="systemVoList" listKey="id" listValue="systemName" cssClass="select"/>(systemName跟action里面的值对应, list存放数据源的list,listKey和listValue对应数据源的两个属性)
<c:if test="${null != subSystemVoList}">
<select name="subSystemId" id="subSystemId" class="select">
<c:forEach items="${subSystemVoList}" var="subSystemVo">
<option id="${subSystemVo.id}" value="${subSystemVo.id}" selected="${subSystemName} }">${subSystemVo.subSystemName}</option>
</c:forEach>
</select>
</c:if>
</td>
</tr>
js部分:
function updateChildTypeContent(){
var selectedValue = $('#systemId').val();
//第一步:移除所有下级选择框
var typeTr = $("#subSystemId");
typeTr.empty();
//第二步:如果选项值不为空 ,添加下一级选择框的值
if(selectedValue != null && "" != selectedValue){
var requestUrl = "http://baidu.com";//这里是拿数据的地址
$.ajax({
async : false,
type : "post",
url : requestUrl,
dataType : "json",
data : {
systemId:selectedValue// 传进去的值
},
success : function(jsonData) {
var select = jsonData;
if(select != null && select != "" && select.length > 0){//如果子列表有值则把值赋上去
var tr = ""
for(var i = 0 ; i < select.length ; i ++){
tr = tr + "<option value='" + select[i].id + "'>" + select[i].subSystemName + "</option>";
}
$('#subSystemId').append(tr);
}
}
});
}
总结:其实父子页面都是可以直接用struts的标签的,可以使页面代码更加明朗易懂。
在这里我用了strut2的标签和ajax的异步调用。
假如你要显示的,一个是省, 一个是市。你要省的List<province>{id, name}和一个省里面全部市的集合List<city>{id, name}
好吧,下面就贴代码吧!!
html部分:
<tr>
<td>
<s:select name="systemName" id="systemId" onchange="updateChildTypeContent();" list="systemVoList" listKey="id" listValue="systemName" cssClass="select"/>(systemName跟action里面的值对应, list存放数据源的list,listKey和listValue对应数据源的两个属性)
<c:if test="${null != subSystemVoList}">
<select name="subSystemId" id="subSystemId" class="select">
<c:forEach items="${subSystemVoList}" var="subSystemVo">
<option id="${subSystemVo.id}" value="${subSystemVo.id}" selected="${subSystemName} }">${subSystemVo.subSystemName}</option>
</c:forEach>
</select>
</c:if>
</td>
</tr>
js部分:
function updateChildTypeContent(){
var selectedValue = $('#systemId').val();
//第一步:移除所有下级选择框
var typeTr = $("#subSystemId");
typeTr.empty();
//第二步:如果选项值不为空 ,添加下一级选择框的值
if(selectedValue != null && "" != selectedValue){
var requestUrl = "http://baidu.com";//这里是拿数据的地址
$.ajax({
async : false,
type : "post",
url : requestUrl,
dataType : "json",
data : {
systemId:selectedValue// 传进去的值
},
success : function(jsonData) {
var select = jsonData;
if(select != null && select != "" && select.length > 0){//如果子列表有值则把值赋上去
var tr = ""
for(var i = 0 ; i < select.length ; i ++){
tr = tr + "<option value='" + select[i].id + "'>" + select[i].subSystemName + "</option>";
}
$('#subSystemId').append(tr);
}
}
});
}
总结:其实父子页面都是可以直接用struts的标签的,可以使页面代码更加明朗易懂。
相关文章推荐
- js实现两个div左右并列显示,并实现点击标题,切换内容显示
- JS+CSS简单实现DIV遮罩层显示隐藏
- 用JS实现的网页关键字高亮显示的方法
- js实现目录链接,内容跟着目录滚动显示
- js 实现显示局部方法的效果
- 表格行高亮显示实现为一个 js 类
- js实现全国省份城市级联下拉菜单效果代码
- js实现图片循环显示
- js,jquery实现生成下拉框显示当前月份前的12个月份。
- js实现级联菜单及传值到后台
- 使用JS实现倒计时(在页面上动态的显示)
- 使用JS,JQuery实现下拉框显示当前日期之前的年月
- js实现一种非常酷而又实用的图片显示效果
- 仿QQ左滑出现删除,只能有一条记录显示有左滑js实现
- 原生js实现下拉级联操作+通过disabled对下拉框不使用
- JS将搜索的关键字高亮显示实现代码
- 点滴积累【JS】---JS小功能(setInterval实现图片效果显示时间)
- js实现动态显示时间(setInterval())
- mm_menu.js(实现鼠标移入横向显示二级菜单效果)
- js实现将json数组显示前台table中