Spring MVC中Ajax实现二级联动的简单实例


Posted in Javascript onJuly 06, 2016

今天写项目遇到了二级联动,期间遇到点问题,写个博客记录一下。

后台Controller:

@RequestMapping("/faultType")
@ResponseBody
public Map<String,Object> faultType(int id,HttpServletRequest request)throws IOException
{
String ReturnMessage = "";
//获取所有子类故障类型
List<FaultType> fauList=faultTypeService.getById(id);
if(fauList.size()>0){
request.setAttribute("childType", fauList);
ReturnMessage = "OK";
}else {
ReturnMessage = "未找到信息";
}


//*************************************************************
Map<String,Object> ReturnMAP = new HashMap<String,Object>();
ReturnMAP.put("childType", fauList);
return ReturnMAP;
}

前台JSP:

<div class="col-sm-3">
<div class="form-group">
<label class="col-3 control-label no-padding-right">
故障类型: </label>
<select name="faulttype" id="faulttype" onchange="javascript:typeChange()">
<c:forEach items="${faultlist }" var="faulist">
<option value="${faulist.faultId }">${faulist.faultContent }</option>
</c:forEach>
</select>

</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<label class="col-3 control-label no-padding-right">
故障: </label>
<input id="childTypeCont" name="childTypeCont"
value="" type="hidden" class="col-sm-4 form-control" placeholder="故障">

<select name="faulttype1" id="faulttype1"">
<option>--请选择--</option>
<c:forEach items="${childType }" var="faulist">
<option value="${faulist.faultId }">${faulist.faultContent }</option>
</c:forEach>
</select>
</select>
</div>
</div>

JS:

function typeChange(){
var type=$("#faulttype").val();

var html = "<option>--请选择--</option>"; 
var CommitUrl = "faultType.do?id=" + type;

$.ajax( {
type : "POST",
contentType : "application/json",
url : CommitUrl,
dataType : 'json',
success : function(result){
var Curedata = $.extend(true, [], result); 
if (Curedata.childType != null) { 
for(var i=0;i<Curedata.childType.length;i++){

html+="<option value='"+Curedata.childType[i].faultId+"'>"+Curedata.childType[i].faultContent+"</option>";
}
$("#faulttype1").empty();
$(html).appendTo("#faulttype1") ;

} }
});
}

以下是引用别人写的(原文地址:http://blog.csdn.net/gis__/article/details/6647464)

记性不好的可以收藏下: 

1,下拉框:

var cc1  = $(".formcselect[@name='country'] option[@selected]").text();//得到下拉菜单的选中项的文本(注意中间有空格) 

var cc2 = $('.formcselect[@name="country"]').val(); //得到下拉菜单的选中项的值 

var cc3 = $('.formc select[@name="country"]').attr("id");//得到下拉菜单的选中项的ID属性值 

$("#select").empty();//清空下拉框//$("#select").html(''); 

$("<optionvalueoptionvalue='1'>1111</option>").appendTo("#select")//添加下拉框的option

稍微解释一下:

1.select[@name='country'] option[@selected] 表示具有name 属性, 

并且该属性值为'country' 的select元素 里面的具有selected 属性的option 元素; 

可以看出有@开头的就表示后面跟的是属性。 

2,单选框: 

$("input[@type=radio][@checked]").val(); //得到单选框的选中项的值(注意中间没有空格) 

$("input[@type=radio][@value=2]").attr("checked",'checked');//设置单选框value=2的为选中状态.(注意中间没有空格)

3,复选框:  

$("input[@type=checkbox][@checked]").val(); //得到复选框的选中的第一项的值 

$("input[@type=checkbox][@checked]").each(function(){//由于复选框一般选中的是多个,所以可以循环输出 

 alert($(this).val()); 

  }); 

$("#chk1").attr("checked",'');//不打勾 

$("#chk2").attr("checked",true);//打勾 

if($("#chk1").attr('checked')==undefined){} //判断是否已经打勾

当然jquery的选择器是强大的. 还有很多方法.  

<script src="jquery-1.2.1.js"type="text/javascript"></script> 

<script language="javascript"type="text/javascript"> 

$(document).ready(function(){ 

$("#selectTest").change(function() 

{ 

   //alert("Hello"); 

   //alert($("#selectTest").attr("name")); 

  //$("a").attr("href","xx.html"); 

   //window.location.href="xx.html"; 

  //alert($("#selectTest").val()); 

   alert($("#selectTest option[@selected]").text()); 

   $("#selectTest").attr("value", "2"); 

}); 

}); 

</script> 

 <ahrefahref="#">aaass</a>

<!--下拉框-->

1.<select id="selectTest"name="selectTest"> 
2.<optionvalueoptionvalue="1">11</option> 
3.<optionvalueoptionvalue="2">22</option> 
4.<optionvalueoptionvalue="3">33</option> 
5.<optionvalueoptionvalue="4">44</option> 
6.<optionvalueoptionvalue="5">55</option> 
7.<optionvalueoptionvalue="6">66</option> 
8.</select> 

9.jqueryradio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关获取一组radio被选中项的值 

10.var item = $('input[@name=items][@checked]').val(); 

11.获取select被选中项的文本 

12.var item = $("select[@name=items] option[@selected]").text(); 

13.select下拉框的第二个元素为当前选中值 

14.$('#select_id')[0].selectedIndex = 1; 

15.radio单选组的第二个元素为当前选中值 

16.$('input[@name=items]').get(1).checked = true; 

17.获取值: 

18.文本框,文本区域:$("#txt").attr("value"); 

19.多选框checkbox:$("#checkbox_id").attr("value"); 

20.单选组radio: $("input[@type=radio][@checked]").val(); 

21.下拉框select: $('#sel').val(); 

22.控制表单元素: 

23.文本框,文本区域:$("#txt").attr("value",'');//清空内容 

24.               $("#txt").attr("value",'11');//填充内容 

25.多选框checkbox: $("#chk1").attr("checked",'');//不打勾 

26.               $("#chk2").attr("checked",true);//打勾 

27.               if($("#chk1").attr('checked')==undefined) //判断是否已经打勾 

28.单选组radio:$("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项 

29.下拉框select:$("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项 

30.           $("<optionvalueoptionvalue='1'>1111</option><optionvalueoptionvalue='2'>2222</option>").appendTo("#sel")//添

加下拉框的option 

31.           $("#sel").empty();//清空下拉框 

32.获取一组radio被选中项的值 

33.var item = $('input[@name=items][@checked]').val(); 

34.获取select被选中项的文本 

35.var item = $("select[@name=items] option[@selected]").text(); 

36.select下拉框的第二个元素为当前选中值 

37.$('#select_id')[0].selectedIndex = 1; 

38.radio单选组的第二个元素为当前选中值 

39.$('input[@name=items]').get(1).checked = true; 

40.获取值: 

41.文本框,文本区域:$("#txt").attr("value"); 

42.多选框checkbox:$("#checkbox_id").attr("value"); 

43.单选组radio: $("input[@type=radio][@checked]").val(); 

44.下拉框select: $('#sel').val(); 

45.控制表单元素: 

46.文本框,文本区域:$("#txt").attr("value",'');//清空内容 

47.$("#txt").attr("value",'11');//填充内容 

48.多选框checkbox: $("#chk1").attr("checked",'');//不打勾 

49.$("#chk2").attr("checked",true);//打勾 

50.if($("#chk1").attr('checked')==undefined) //判断是否已经打勾 

51.单选组radio:$("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项 

52.下拉框select:$("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项 

53.$("<optionvalueoptionvalue='1'>1111</option><optionvalueoptionvalue='2'>2222</option>").appendTo("#sel")//添加下拉框的option 

54.$("#sel").empty();//清空下拉框

以上这篇Spring MVC中Ajax实现二级联动的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js replace 与replaceall实例用法详解
Aug 03 Javascript
七个不允许错过的jQuery小技巧
Dec 21 Javascript
jQuery实现验证年龄简单思路
Feb 24 Javascript
sencha ext js 6 快速入门(必看)
Jun 01 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
Aug 17 Javascript
JS实现两周内自动登录功能
Mar 23 Javascript
JavaScript实现的数字与字符串转换功能示例
Aug 23 Javascript
React Native 图片查看组件的方法
Mar 01 Javascript
JS实现520 表白简单代码
May 21 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
Sep 07 Javascript
小程序开发之模态框组件封装
Apr 23 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 jQuery
js中window.open的参数及注意注意事项
Jul 06 #Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
Jul 06 #Javascript
jQuery 3.0十大新特性
Jul 06 #Javascript
Javascript 基础---Ajax入门必看
Jul 06 #Javascript
jQuery获取浏览器类型和版本号的方法
Jul 05 #Javascript
jQuery事件委托之Safari
Jul 05 #Javascript
一道优雅面试题分析js中fn()和return fn()的区别
Jul 05 #Javascript
You might like
php三元运算符知识汇总
2015/07/02 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
javascript数组的使用
2013/03/28 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
2013/06/26 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
javascript 开发之百度地图使用到的js函数整理
2017/05/19 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
Python max内置函数详细介绍
2016/11/17 Python
Python及PyCharm下载与安装教程
2017/11/18 Python
儿童python练习实例
2018/05/27 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
数据库专业英语
2012/11/30 面试题
企业厂长岗位职责
2013/12/17 职场文书
优秀教师主要事迹
2014/02/01 职场文书
英语老师推荐信
2014/02/26 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
个人职业及收入证明
2014/10/13 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
新闻稿件写作范文
2015/07/18 职场文书
Redis IP地址的绑定的实现
2021/05/08 Redis