初识JQuery[教程]


JQuery的认识

JQuery是一款JavaScript的库(工具类),对JavaScript的方法进行封装的,优化JavaScript对HTML DOM
简单来说就是JavaScript的代码更方便

JQuery的下载地址JQuery的官网
JQuery的常用方式

js:document.getElementById()
JQuery:$("#id")


js:document.getElementByClassName()
JQuery:$(".class")


js:document.getElementByTagName()
JQuery:$("标签名")

DOM对象

通过DOM对象,可以将页面元素解析为元素结点,属性结点,文本结点
这些解析出的结点对象,就是dom对象,dom对象可以使用JavaScript中的方法
比如document.getElementById()等

JQuery使用方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
    /*
    $(document),$是函数的函数名,$()是一个函数,内的document是这个页面加载完之后生成的document对象(DOM对象)
    作用是document对象变成Jquery函数库可以使用的对象
    
    ready是jquery中的函数,是当页面加载完成生成dom对象后会执行ready中的内容,相当于js中的onLoad事件
    
    funciton()自定义的表示当页面加载完之后ready要执行的函数
    */
        $(document).ready(function (){
            alert("hello jquery");
        })
        $(function(){
        	alert("hello jquery");
        })
        //以上两种写法作用是一样的
        //第二种写法是简写
        //$(document).ready()与$(),JQuery(),window.JQuery()都是一样的作用最常用是$()
    </script>
</head>
<body>

</body>
</html>

DOM对象与JQuery对象

/*
dom对象,使用JavaScript的语法创建的对象叫做dom对象,也就是js对象
*/
var obj = document.getElementById();
//这里的obj就是一个dom对象
/*
用Jquery语法创建的对象叫做jquery,所有的jquery对象都是数组。
*/
var jqobj = $("#txt1");
//这里的jquery对象jqobj是一个数组,这里数组只有一个值txt1
//jquery对象和dom对象是可以相互转换的
//dom转换jquery语法是:
$(dom对象);
//jquery转换为dom对象:
var jqobj = $("#txt1");
jqobj[0]
//这里的jqobj[0]就是一个dom对象,也就是jquery数组中的每个元素都是dom对象

基本选择器使用

选择器就是定位条件,是一个字符串,用来定位jquery中的dom对象
选择器常见的是:

ID选择器:$("#dom对象的ID值");ID是唯一值,不会重复的
class选择器:$(".class样式名");样式名来定位dom对象
标签选择器:$("标签名");用标签名来定位dom对象

选择器的例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style type="text/css">
        /*div标签设置*/
        div{
            background: aqua;
            width: 150px;
            height: 100px;
        }
    </style>
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        function funOne(){
            /*
                id选择器
                返回jquery对象obj
                调用jquery中的函数css()改变dom对象的颜色
             */
            var obj = $("#one");
            obj.css("background","red");
        }
        function funTwo(){
            /*
            .class样式选择器
             */
            var obj = $(".two");
            obj.css("background","green");
        }
        function funThree(){
            /*
            标签选择器,获取所有div的标签来改变所有div的颜色
             */
            var obj = $("div");
            obj.css("background","black");
        }
        function funFour(){
            /*
            改变所有dom对象的颜色
            */
            var obj = $("*");
            obj.css("background","yellow");
        }
        function funFive(){
            /*
            混合选择器,id,class样式,标签
             */
            var obj = $("#one,.two,span");
            obj.css("background","red");
        }
    </script>
</head>
<body>
    <div id="one">第一个div</div>
    <div class="two">第二个class样式的div</div>
    <div>标签div</div>
    <span>span标签</span>
    <br/>
    <input type="button" value="改变第一个div的颜色" onclick="funOne()"/>
    <br/>
    <input type="button" value="改变class样式的颜色" onclick="funTwo()"/>
    <br/>
    <input type="button" value="改变div标签的颜色" onclick="funThree()"/>
    <br/>
    <input type="button" value="改变所有的颜色" onclick="funFour()"/>
    <br/>
    <input type="button" value="组合选择器" onclick="funFive()"/>
</body>
</html>

表单选择器

表单选择器就是对中的type属性进行管理并使用的
语法:

$(":type属性值");
$(":text");
$(":radio");
$(":checkbox");
//注:$(":tr")这种tr标签是没有type属性值的所以是错误的写法

表单管理器:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        function fun1(){
            var obj = $(":text");
            //val()是jquery的函数作用是jquery对象的值
            alert(obj.val());
        }
        function fun2(){
            /*
            因为radio是个数组所以可以for循环遍历
            而这是一个jquery数组内的每个元素都是dom对象
            所以要用dom对象js的方法而不是jquery的方法
             */
            var obj = $(":radio");
            for (var i = 0; i < obj.length; i++) {
                alert(obj[i].value);
            }
        }
        function fun3(){
            /*
            如果要用val()来显示数据必须要是jquery对象
            这里转换成jquery对象来使用val()函数
            将obj[i]每个dom对象元素转成jquery是$(obj[i])
            然后调用它的val()函数
             */
            var obj = $(":checkbox");
            for (let i = 0; i < obj.length; i++) {
                alert($(obj[i]).val());
            }
        }
    </script>
</head>
<body>
<input type="text" value="第一个text"/><br/>
<input type="radio" value="man"/><input type="radio" value="woman"/><br/>
<input type="checkbox" value="football"/>足球<br/>
<input type="checkbox" value="music"/>音乐<br/>
<input type="button" value="读取text的值" onclick="fun1()"/><br/>
<input type="button" value="读取radio数组的值" onclick="fun2()"/><br/>
<input type="button" value="读取checkbox数组的值" onclick="fun3()"/><br/>
</body>
</html>

定义元素监听事件

//语法:
//$(选择器).监听事件名称(处理函数);
//作用等同于js中的onclick
//为页面中的button绑定onclick事件并关联处理函数
$("button").click(fun1);
//为页面中的所有tr标签绑定onmouseover事件的写法
$("tr").mouseover(fun2);
要在页面加载完document对象后给按钮或者标签绑定函数
$(function(){
	$("#btn1").click(function(){
		alert("按钮单击事件");
	})
})

过滤器

过滤器就是过滤条件,对数组中的dom对象进行条件筛选,过滤条件不能独立出现在jquery函数中华,只能出现在选择器后方

<div>1</div>//dom1
<div>2</div>//dom2
<div>3</div>//dom3
$("div");//这个数组里面就会有三个dom对象,过滤器的作用就是对这些对象进行筛选

基本过滤器
过滤器不能单独用,必须和选择器使用。
过滤器是一个字符串,来筛选dom对象的

//选择第一个元素first
$("选择器:first");
//选择最后一个元素last
$("选择器:last");
//选择数组中指定的对象
$("选择器:eq(数组索引)");
//选择数组中小于指定索引的所有dom对象
$("选择器:lt(数组索引)");
//选择数组中大于指定索引的所有dom对象
$("选择器:gt(数组索引)");

过滤器:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            //在页面加载完成生成document之后执行以下绑定事件
            /*
            给btn1绑定单击事件.click
            函数内容是获取所有div的第一个div并改变这个div的颜色为红色
             */
            $("#btn1").click(function (){
                $("div:first").css("background","red");
            })
            /*
            获取最后一个div,写法与上一个绑定事件一样只需要将first改成last
             */
            $("#btn2").click(function (){
                $("div:last").css("background","green");
            })
            //获取等于3的div
            $("#btn3").click(function (){
                $("div:eq(3)").css("background","black");
            })
            **//获取小于3的
            //这里会把四和五,六都改变
            //因为第三个div就是下标为2的div包括了子标签四和五,六**
            $("#btn4").click(function (){
                var obj = $("div:lt(3)");
                obj.css("background","orange");
            })
            //**获取大于3的大于三的是不看子标签的**
            $("#btn5").click(function (){
                var obj = $("div:gt(3)");
                obj.css("background","blue");
            })
        })
    </script>
</head>
<body>
<div>第一个div</div>
<div>第二个div</div>
<div>第三个div
    <div>第四个div</div>
    <div>第五个div</div>
    <div>第六个div</div>
</div>
<div>第七个div</div>
<span>span标签</span>
<p>功能按钮</p>
<input type="button" id="btn1" value="选择第一个div"/><br/>
<input type="button" id="btn2" value="选择最后一个div"/><br/>
<input type="button" id="btn3" value="选择索引等于3的div"/><br/>
<input type="button" id="btn4" value="选择索引小于3的div"/><br/>
<input type="button" id="btn5" value="选择索引大于3的div"/><br/>
</body>
</html>

表单属性过滤器

表单属性过滤器:根据表单中dom对象的状态情况,定位dom对象的

启动状态:enabled
//选择可用的文本框
$(":text:enabled");
不可用状态:disabled
//选择不可用的文本框
$(":text:disabled");
复选框:checked
//选择所有的复选框
$("checkbox:checked");
----------------------
//被指定下拉列表的被选中元素
选择器>option:selected

表单属性过滤器:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            $("#btn1").click(function (){
                /*
                使用表单属性过滤器
                $(:选择器:过滤条件);
                 */
                $(":text:enabled").val("hello");
            })
            $("#btn2").click(function (){
                /*
                显示所有复选框的值是一个数组
                要写循环
                 */
                var obj = $(":checkbox:checked");
                for (let i = 0; i < obj.length; i++) {
                    window.alert(obj[i].value);
                }
            })
            $("#btn3").click(function (){
                /*
                选择下拉列表的语法
                $(选择器>子标签:过滤条件);
                这也是个数组
                 */
                window.alert($("select>option:selected").val());
                //也可以写成
                window.alert($("#lang>option:selected").val());
            })
        })
    </script>
</head>
<body>
    <input type="text" value="text1" disabled/><br/>
    <input type="text" value="text2" /><br/>
    <input type="text" value="text3" /><br/>
    <input type="text" value="text4" disabled/><br/>
    <input type="checkbox" value="LOL" checked/>LOL
    <input type="checkbox" value="CF" />CF
    <input type="checkbox" value="WOW" checked/>WOW
    <br/>
    <select id="lang">
        <option value="c">C语言</option>
        <option value="java">java语言</option>
        <option value="c++">C++语言</option>
    </select><br/>
    <input type="button" value="设置可用的text文本框的value是hello" id="btn1"/><br/>
    <input type="button" value="显示选中复选框的值" id="btn2"/><br/>
    <input type="button" value="显示下拉列表框的值" id="btn3"/><br/>
</body>
</html>

JQuery函数

第一组函数
1:val
操作数组中的dom对象的value属性
语法:

$("选择器").val();//无参数形式,读取数组中华的第一个dom对象的value属性值
$("选择器").val();//对数组中的所有dom对象的value属性值统一赋值
--------------------例子:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            $("#btn1").click(function (){
            //输入值之后会改变type为text的所有dom对象的value值
                $(":text").val("hello");
            })
        })
    </script>
</head>
<body>
<input type="button" value="按钮" id="btn1"/>
<input type="text" value="txt1"/>
</body>
</html>

2:text
操作数组中的所有dom对象的innerText[文字显示内容属性]
语法:

$("选择器").text();//无参形式,读取数组中所有dom对象的文字显示内容,将得到内容拼接为一个字符串
$("选择器").text();//对数组中所有dom对象的文字显示内容进行统一的赋值
--------------------例子:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            $("#btn1").click(function (){
                //会改变掉下面[一二三个平平无奇的div]为[消失的div]
                $("div").text("消失的div");
                window.alert($("div").text());//返回的是拼接后的字符串
                /*
                结果为:消失的div消失的div消失的div
                 */
            })
        })
    </script>
</head>
<body>
<input type="button" value="按钮" id="btn1"/>
<div>一个平平无奇的div</div>
<div>二个平平无奇的div</div>
<div>三个平平无奇的div</div>
</body>
</html>

3::attr
对val,text之外的其他属性操作
语法:

$("选择器").attr("属性名");//获取dom数组中的第一个对象的属性值
$("选择器").attr("属性名","值");//对数组中所有dom对象的属性设为新值
-----------------例子:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            $("#btn1").click(function (){
                //对jquery对象id为text获取他的type属性的值
                //值为reset
                window.alert($("#text").attr("type"));
                //将他的type属性值reset改为radio
                $("#text").attr("type","radio");
            })
        })
    </script>
</head>
<body>
<input type="button" value="按钮" id="btn1"/>
<input type="reset" id="text"/>
</body>
</html>

第二组函数
1:remove

语法:
$("选择器").remove();//将数组中所有的dom对象及其子对象一并删除

2:empty

语法:
$("选择器").empty();//将数组中所有dom对象的子对象删除

3:append
为数组中的所有dom对象添加子对象

$("选择器").append("<div>动态添加的div</div>");
-------------------例子:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            $("#btn1").click(function (){
                //为每一个div添加一个子对象为:动态添加的div
                $("div").append("<div>动态添加的div</div>");
            })
        })
    </script>
</head>
<body>
<div>第一个div</div>
<div>第二个div</div>
<input type="button" value="添加子对象" id="btn1"/>
</body>
</html>

4:html
设置或者返回被选元素的内容(innerHTML)
语法:

$("选择器").html();//无参方法,获取dom数组第一匹元素的内容
$("选择器").html();//设置dom数组中所有元素的内容
-------------------例子:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            $("#btn1").click(function (){
                window.alert($("div").html());//这里获取的是第一个文本值[第一个div]
                /*
                可以循环遍历这个所有div的html()的值
                注意要把所有的div元素都转成jquery对象才可以调用html()函数
                 */
                var obj = $("div");
                for (let i = 0; i < obj.length; i++) {
                    window.alert($(obj[i]).html());
                }
                //有参调用改变所有dom对象的值
                obj.html("新的html值");
            })
        })
    </script>
</head>
<body>
<div>第一个div</div>
<div>第二个div</div>
<input type="button" value="获取dom对象的文本值" id="btn1"/>
</body>
</html>

5:each
each是对数组json和dom数组的value的遍历,对每个元素调用一次函数
语法:

$.each(function(index,element){
})
jquery对象.each(function(index,element){
})
index是数组的下标
element是数组的对象
两种写法作用相同
------------------例子:
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            $("#btn1").click(function (){
                var json = {"name":"张三","age":20};//数组的循环
                $.each(json,function (index,element){
                    window.alert("属性"+index+"值"+element);
                    /*
                    结果为
                    属性name值张三
                    属性age值20
                     */
                })
                //第二种语法格式
                //jQuery对象.each() jQuery对象就是dom数组
                $("div").each(function (index,element){
                    window.alert("下标"+index+"数据"+element.innerText);
                    /*
                    结果为:
                    下标0数据第一个div
                    下标1数据第二个div
                     */
                })
            })
        })
    </script>
</head>

事件

on()绑定事件
on()方法在被选元素上添加事件处理程序,比较常用
语法:

$("选择器").on(event,function);
event:一个事件或多个事件,多个之间空格分开
function:可选,当时间发生后运行的函数
-----------------------例子:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript " src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            //根$("#btn1").click()一样但是下面的方法更灵活
            $("#btn1").on("click",function (){
                window.alert("按钮被点击");
            })
        })
    </script>
</head>
<body>
<input type="button" value="按钮" id="btn1"/>
</body>
</html>

AJAX

jquery中提供了新的ajax使用方式不同以前的ajax四步
没有jquery之前使用的是异步对象(比较繁琐)
jquery把ajax的处理简化成了函数:
$.ajax()
jquery中实现ajax核心

$.ajax()使用方法:
函数的参数表示用来表示请求方式,url,参数值等。
$.ajax()函数参数是一个json的结构
函数参数:
=================================================================
async:布尔值,表示请求是否异步处理,默认是true
contentType:发送数据到服务器时所用的内容类型,列如application/json
data:规定要发送到服务器的数据,可以是字符串,数组,json
dataType:期望从服务器响应的数据类型,可选有:xml,html,text,json
发送请求时,会把dataType的值发给服务器,servlet能够读到dataType的值
就知道你的浏览器需要的是什么类型的数据,返回什么类型不一定!
error();如果请求失败要运行的函数
success(resp);当请求成功时运行的函数
type:规定请求的类型(get,post)默认是get
url:规定发送请求的URL
=================================================================
语法:
$.ajax({
		async:true,
		contentType:"application/json",
		data:{name:"张三",age:"20"},
		dataType:"json",
		error(function(){
			请求发生错误时,实行的函数
		}),
		success:function(resp){
			返回的数据进行处理
		},
		url:"请求地址",
		type:"get"
})
$.post();//使用post方式做ajax请求
$.get();//使用get方式发送ajax请求
以上两个函数内部都是调用$.ajax()函数

例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--找到JQuery文件-->
    <script type="text/javascript" src="jquery-3.6.0.js"></script>
    <script type="text/javascript">
        $(function (){
            $("#btn").on("click",function (){
                //获取id的value值要查找的省份id
                var id = $("#id").val();
                //发送ajax请求
                //其中有一些参数是可以省略的因为有默认值
                $.ajax({
                    data:{//传入的值json形式
                        "id":id
                    },
                    dataType:"json",//希望返回的数据类型json
                    success:function (resp){//处理从服务器返回的数据
                        $("#name").val(resp.proName);//给省份名称标签设置value值
                        $("#simple").val(resp.simple);//给省份简称设置value值
                        $("#province").val(resp.province);//给省会设置value值
                    },
                    url:"search",//访问的地址在web.xml的简称search
                })
            })
        })
    </script>
</head>
<body>
<p>根据省份id获取名城</p>
<table>
    <tr>
        <td>省份编号:</td>
        <td>
            <input type="text" id="id"/>
            <input type="button" id="btn" value="搜索"/>
        </td>
    </tr>
    <tr>
        <td>省份名称:</td>
        <td>
            <input type="text" id="name"/>
        </td>
    </tr>
    <tr>
        <td>省份简称:</td>
        <td>
            <input type="text" id="simple"/>
        </td>
    </tr>
    <tr>
        <td>省份省会:</td>
        <td>
            <input type="text" id="province"/>
        </td>
    </tr>
</table>
</body>
</html>

级联查询小项目

选择省份名称,城市就会显示该省份下的城市
服务器:tomcat
json工具包:Jackson
数据库:mysql
jquery库:jquery3.6.0.js
在这里插入图片描述
项目目录:
在这里插入图片描述
设置基础的页面:

<body>
<p>省市级联查询</p>
<div>
    <table border="2">
        <tr>
            <td>省份名称:</td>
            <td>
                <select id="province">
                    <option value="0">请选择省份</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>城市:</td>
            <td>
                <select id="city">
                    <option value="0">请选择城市</option>
                </select>
            </td>
        </tr>
    </table>
</div>
</body>

封装dao层:
先把第一个省份名称下拉列表的九个省份从mysql数据库获取利用append方式追加到网页的下拉列表

public class levelDao {
    JdbcUtil jdbcUtil = new JdbcUtil();

    public List<Province> SearchName(){
        String sql = "select * from province";
        List<Province> provinceList = new ArrayList<>();
        //因为省份有很多所以封装成很多对象装到list集合内
        ResultSet rs = null;
        PreparedStatement ps = jdbcUtil.JdbcGetPreparedStatement(sql);
        try {
            rs = ps.executeQuery();
            while(rs.next()){
                Integer id = rs.getInt("id");
                String name = rs.getString("name");
                String simple = rs.getString("jiancheng");
                String province = rs.getString("shenghui");
                Province provinceNode = new Province(id,name,simple,province);
                provinceList.add(provinceNode);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            if(rs!=null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            jdbcUtil.JdbcDeleteUtil();
        }
        return provinceList;
    }
}

获取省份的Servlet:

public class SearchCityName extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String json = "{}";//初始化为{},防止空数据
        levelDao levelDao = new levelDao();
        List<Province> Pro = levelDao.SearchName();
        if(Pro!=null){//判断是否为空数据
        	//调用json工具包的ObjectMapper类
            ObjectMapper om = new ObjectMapper();
            json = om.writeValueAsString(Pro);
        }
        resp.setContentType("application/json;charset=utf-8");
        PrintWriter pw = resp.getWriter();
        pw.println(json);
        pw.flush();
        pw.close();
    }
}

第一次利用jquery的ajax发送请求获取省份添加到下拉列表框:

//独自封装成函数,需要等待页面的document对象加载完才可以执行这个函数需要$(function(){})
function doAjax(){
            $.ajax({
                data:{},
                dataType:"json",
                success:function (resp){
                    $.each(resp,function (index,element){
                        $("#province").append("<option value='"+element.id+"'>"+element.name+"</option>");
                    })
                },
                url:"search"
            })
        }

dao层的根据发送的省份id来查询该省份下的城市:

public List<city> LevelCity(String id){
        String sql = "select id,name from city where provinceid = ?";
        ResultSet rs = null;
        PreparedStatement ps = jdbcUtil.JdbcGetPreparedStatement(sql);
        List<city> cityList = new ArrayList<>();
        try {
            ps.setInt(1,Integer.valueOf(id));
            rs = ps.executeQuery();
            while (rs.next()){
                Integer CityId = rs.getInt("id");
                String name = rs.getString("name");
                city city = new city(CityId,name,Integer.valueOf(id));
                cityList.add(city);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return cityList;
    }

根据省份查询城市的Servlet:

public class LevelServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String json = "{}";
        resp.setContentType("application/json;charset=utf-8");
        String id = req.getParameter("id");
        if(id!=null && !"".equals(id.trim())){
            levelDao levelDao = new levelDao();
            List<city> cityList = levelDao.LevelCity(id);
            if(cityList!=null){
                ObjectMapper om = new ObjectMapper();
                json = om.writeValueAsString(cityList);
            }
        }
        PrintWriter pw = resp.getWriter();
        pw.println(json);
        pw.flush();
        pw.close();
    }
}

利用jquery的change改变事件来获取被选中的下拉列表框的元素:

$(function (){
            doAjax();
            $("#province").change(function (){
                var id = $("select>option:selected").val();
                $.ajax({
                    data: {"id":id},
                    dataType:"json",
                    success:function (resp){
                        $("#city").empty();
                        $.each(resp,function (index,element){
                            $("#city").append("<option value='"+element.id+"'>"+element.name+"</option>")
                        })
                    },
                    url:"level"
                })
            })
        })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值