当前位置: 代码迷 >> Web前端 >> jquery 简略2级联动
  详细解决方案

jquery 简略2级联动

热度:146   发布时间:2012-10-25 10:58:57.0
jquery 简单2级联动

复习了一下JQUERY,做了一个JQUERY 实现的2级别联动,主要联系了一下JQUERY 的ajax功能,代码后台数据写死数据结构和之前我的EXTJS2级联动一样采用JSON 数据传输,代码框架也只直接从EXTJS2级联动代码中复制过来的 算是struts2+jquery +json吧

???主要代码介绍

?

 $(function(){
			$.ajax({
                url: "getlist.action",
                type: 'POST',
                dataType: 'JSON',
                timeout: 5000,
                error: function() { alert('Error loading data!'); },
                success: function(msg) {
                    $("#province").empty();
                    $.each(eval(msg), function(i, item) {
                        $("<option value='" + item.id + "'>" + item.name + "</option>").appendTo($("#province"));
                    });
                  //  loadCity($("#province").val());
                }
            });
			 $("#province").change(function() {
                loadCity($("#province").val());
            });
			
			function loadCity(parentid) {
                $.ajax({
                    url: 'getlist2.action?id='+ parentid,
                    type: 'POST',
                    dataType: 'JSON',
                    timeout: 5000,
                    error: function() { alert('Error loading data!'); },
                    success: function(msg) {
                        $("#city").empty();
                        $.each(eval(msg), function(i, item) {
                            $("<option value='" + item.id + "'>" + item.name + "</option>").appendTo($("#city"));
                        });
                    }
                });
            }
		})

?

?? ?初始化$.ajax 方法调用后台getlist.action 返回省的数据 后写了一个 $("#province").change(function() ?事件绑定,省变化后触发loadCity 方法返回市的数据

???完整的 test.jsp

??? <%@ page contentType="text/html;charset=UTF-8" language="java"%>

<html>
	<head>
		<title>ddd</title>
	</head>
	<script type="text/javascript" src="js/jquery.js"></script>
	<script type="text/javascript"> 
 		$(function(){
			$.ajax({
                url: "getlist.action",
                type: 'POST',
                dataType: 'JSON',
                timeout: 5000,
                error: function() { alert('Error loading data!'); },
                success: function(msg) {
                    $("#province").empty();
                    $.each(eval(msg), function(i, item) {
                        $("<option value='" + item.id + "'>" + item.name + "</option>").appendTo($("#province"));
                    });
                  //  loadCity($("#province").val());
                }
            });
			 $("#province").change(function() {
                loadCity($("#province").val());
            });
			
			function loadCity(parentid) {
                $.ajax({
                    url: 'getlist2.action?id='+ parentid,
                    type: 'POST',
                    dataType: 'JSON',
                    timeout: 5000,
                    error: function() { alert('Error loading data!'); },
                    success: function(msg) {
                        $("#city").empty();
                        $.each(eval(msg), function(i, item) {
                            $("<option value='" + item.id + "'>" + item.name + "</option>").appendTo($("#city"));
                        });
                    }
                });
            }
		})
 	</script>

	<body>
		<div align="center">
			<select id='province'>
				<option id="provinceonline" value="">
					所有
				</option>
			</select>
			<select id='city'>
				<option id="cityonline" value="">
					所有
				</option>
			</select>

		</div>
	</body>
</html>

?? ??效果图

?


?

?? ? 选择某一个城市

?

?


?

?? 选中后看它所在的城市

?

??

  相关解决方案