JQuery省市联动效果实现过程详解

时间:2021-05-26

Js相关技术

JS中的数组: ["城市"]

new Array()

DOM树操作:

  • ​ 创建节点: document.createElement
  • ​ 创建文本节点: document.createTextNode
  • ​ 添加节点: appendChild

需求分析

​ 在我们的注册表单中,通常我们需要知道用户的籍贯,需要一个给用选择的项,当用户选中了省份之后,列出省下面所有的城市

技术分析

准备工作 : 城市信息的数据

添加节点 : appendChild (JS)

a. append : 添加子元素到末尾

$("#div1").append("<font color='red'>this is replacing text</font>")

b. appendTo : 给自己找一个爹,将自己添加到别人家里

$("#div1").prepend("<font color='red'>this is replacing text</font>")

和第一个效果一样

c. prepend : 在子元素前面添加

$("#div1").after("<font color='red'>this is replacing text</font>")

d. after : 在自己的后面添加一个兄弟

$("<font color='red'>this is replacing text</font>").appendTo("#div1")

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="js/jquery-1.11.0.js"></script> <script> $(function () { $("#btn1").click(function () { // $("#div1").append("<font color='red'>this is replacing text</font>") // $("#div1").prepend("<font color='red'>this is replacing text</font>") $("#div1").after("<font color='red'>this is replacing text</font>") // $("<font color='red'>this is replacing text</font>").appendTo("#div1") }); }); </script></head><body><input type="button" value="click me, replace text" id="btn1"><div id="div1">this is a text that will be replaced!</div></body></html>

遍历的操作:

<script> var cities = ["深圳市", "东莞市", "惠州市", "广州市"]; $(cities).each(function (i, n) { console.log(i + "====" + n); }) $.each(cities, function (i, n) { console.log(i + ">>>>" + n); }) </script>

步骤分析:

  • 导入JQ的文件
  • 文档加载事件:页面初始化
  • 进一步确定事件: change事件
  • 函数: 得到当前选中省份
  • 得到城市, 遍历城市数据
  • 将遍历出来的城市添加到城市的select中

代码实现:

$(function(){ $("#province").change(function(){// alert(this.value); //得到城市信息 var cities = provinces[this.value]; //清空城市select中的option $("#city").empty(); //采用JQ的方式清空 //遍历城市数据 $(cities).each(function(i,n){ $("#city").append("<option>"+n+"</option>"); }); }); });

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章