jquery+ json--省市二级联动
2011-09-15 10:09
351 查看
Js代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.6.1.js">
</script>
<script language="JavaScript">
$(function(){
$("#s1").change(function(){
var obj = $("#s1");//取得下拉列表框对象 s1
// alert(obj);
//2. 取得Options 的长度
len = $('#s1 option').length
// alert(len);
//3. 取得所选值 注意,如果option没有value属性,则默认取的是text属性值
obj_value = $('#s1').val();
// alert("$('#s1').val()"+obj_value);
// alert($('#s2').val());
//4. 取得所选中的option
var opt = $("#s1 option:selected");
;
// alert("opt:"+opt);
// alert(opt.text());
// alert(opt.val());
var url = "../jsonServlet";
var param = "name=" + $("#s1 option:selected").text();
alert(param);
$.ajax({
type: "POST",
url: url,
data: param,
cache: false,
dataType: "json",
success: function(msg){
//jsonServlet 返回的是一个JSONArray
alert(msg);
//清空下拉列表框
$("#s2").empty();
//遍历数组
$.each(msg, function(i, text){
alert("数组的索引:" + i);
alert("数组的值:" + text);
//增加option
$("#s2").append("<option>" + text + "</option>")
});
}
})
}); })
</script>
</head>
<body>
<p align="center">
jquery+ json--省市二级联动
</p>
<table align="center">
<tr>
<td>
省份
</td>
<td>
<select id="s1">
<option value="1">省份</option>
<option value="2">湖北</option>
<option value="3">浙江</option>
</select>
</td>
<td>
<select id="s2">
<option>城市</option>
</select>
</td>
</tr>
</table>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> <script type="text/javascript" src="jquery-1.6.1.js"> </script> <script language="JavaScript"> $(function(){ $("#s1").change(function(){ var obj = $("#s1");//取得下拉列表框对象 s1 // alert(obj); //2. 取得Options 的长度 len = $('#s1 option').length // alert(len); //3. 取得所选值 注意,如果option没有value属性,则默认取的是text属性值 obj_value = $('#s1').val(); // alert("$('#s1').val()"+obj_value); // alert($('#s2').val()); //4. 取得所选中的option var opt = $("#s1 option:selected"); ; // alert("opt:"+opt); // alert(opt.text()); // alert(opt.val()); var url = "../jsonServlet"; var param = "name=" + $("#s1 option:selected").text(); alert(param); $.ajax({ type: "POST", url: url, data: param, cache: false, dataType: "json", success: function(msg){ //jsonServlet 返回的是一个JSONArray alert(msg); //清空下拉列表框 $("#s2").empty(); //遍历数组 $.each(msg, function(i, text){ alert("数组的索引:" + i); alert("数组的值:" + text); //增加option $("#s2").append("<option>" + text + "</option>") }); } }) }); }) </script> </head> <body> <p align="center"> jquery+ json--省市二级联动 </p> <table align="center"> <tr> <td> 省份 </td> <td> <select id="s1"> <option value="1">省份</option> <option value="2">湖北</option> <option value="3">浙江</option> </select> </td> <td> <select id="s2"> <option>城市</option> </select> </td> </tr> </table> </body> </html>
后台:JsonServlet.java
Java代码
package com.wepull.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
public class JsonServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
System.out.println("ajax传来的name:"+name);
PrintWriter pw = response.getWriter();
JSONArray array = new JSONArray();
if("湖北".equals(name)){
array.add("武汉");
array.add("宜昌");
array.add("黄石");
array.add("黄冈");
}else if("浙江".equals(name)){
array.add("杭州");
array.add("温州");
array.add("台州");
}
System.out.println(array);
System.out.println("array.toString()"+array.toString());
pw.println(array);
}
}
package com.wepull.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; public class JsonServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub doPost(req, resp); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String name = request.getParameter("name"); System.out.println("ajax传来的name:"+name); PrintWriter pw = response.getWriter(); JSONArray array = new JSONArray(); if("湖北".equals(name)){ array.add("武汉"); array.add("宜昌"); array.add("黄石"); array.add("黄冈"); }else if("浙江".equals(name)){ array.add("杭州"); array.add("温州"); array.add("台州"); } System.out.println(array); System.out.println("array.toString()"+array.toString()); pw.println(array); } }
附:jQuery添加/删除Select的Option项:
1. $("#select_id").append("<option value='Value'>Text</option>"); //为Select追加一个Option(下拉项)
2. $("#select_id").prepend("<option value='0'>请选择</option>"); //为Select插入一个Option(第一个位置)
3. $("#select_id option:last").remove(); //删除Select中索引值最大Option(最后一个)
4. $("#select_id option[index='0']").remove(); //删除Select中索引值为0的Option(第一个)
5. $("#select_id option[value='3']").remove(); //删除Select中Value='3'的Option
5. $("#select_id option[text='4']").remove(); //删除Select中Text='4'的Option
相关文章推荐
- jquery+json+ajax省市二级联动下拉
- Jquery实现省市二级三级联动Json
- jquery+json+struts实现省市二级联动
- 用Jquery做省市二级联动下拉列表
- jQuery+php+mysql,轻松实现ajax无刷新省市二级联动
- jQuery学习(六)——使用JQ完成省市二级联动
- jquery+json实现数据二级联动的方法
- jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
- 用jquery写的json省市县三级联动下拉
- jquery+json实现数据二级联动的方法
- 一天搞定jQuery(四)——使用jQuery完成省市二级联动的效果
- jQuery省市的二级联动
- jquery省市二级联动插件 2
- jQuery + json 实现省市区三级联动
- 用jquery+Asp.Net实现省市二级联动
- 用jquery+Asp.Net实现省市二级联动
- jquery通过struts2请求,返回json数据,在jsp页面形成二级联动下拉列表
- 用jQuery中的ajax写的返回json数据的二级联动
- jQuery+JSON实现AJAX二级联动实例分析
- java jsp jquery json 二级联动菜单