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 相关文章推荐
获取HTML DOM节点元素的方法的总结
Aug 21 Javascript
JavaScript Event学习第十章 一些可替换的事件对
Feb 10 Javascript
动态获取复选框checkbox选中个数的jquery代码
Jun 25 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 Javascript
JavaScript实现九九乘法表的简单实例
Jun 07 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 Javascript
ES6新特性之Symbol类型用法分析
Mar 31 Javascript
js实现随机数字字母验证码
Jun 19 Javascript
jQuery实现火车票买票城市选择切换功能
Sep 15 jQuery
js的各种数据类型判断的介绍
Jan 19 Javascript
JS实现的自定义map方法示例
May 17 Javascript
jQuery使用jsonp实现百度搜索的示例代码
Jul 08 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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
php 结果集的分页实现代码
2009/03/10 PHP
yii的CURD操作实例详解
2014/12/04 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
javascript 处理事件绑定的一些兼容写法
2009/12/24 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
2013/10/25 Javascript
老司机带你解读jQuery插件开发流程
2016/05/16 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
js事件委托和事件代理案例分享
2017/07/25 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
深入理解Vue nextTick 机制
2018/04/28 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
讲解python参数和作用域的使用
2013/11/01 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
写出一个方法实现冒泡排序
2016/07/08 面试题
自我评价优秀范文分享
2013/11/30 职场文书
自我评价格式
2014/01/06 职场文书
电脑专业个人求职信范文
2014/02/04 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
董事长助理岗位职责
2015/02/11 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书
红歌会主持词
2015/07/02 职场文书
OpenCV图像变换之傅里叶变换的一些应用
2021/07/26 Python