添加注释

This commit is contained in:
landaiqing 2023-05-01 22:47:22 +08:00
parent 295f24b49b
commit 4dca507c64
4 changed files with 59 additions and 46 deletions

View File

@ -29,8 +29,9 @@
</body> </body>
<script> <script>
$(function () { $(function () {
//调用函数
getCountry(); getCountry();
// 选项节点获取code --province Code
$("#province").change(function () { $("#province").change(function () {
CountryId = $("#province").val(); CountryId = $("#province").val();
// console.log(FatherId); // console.log(FatherId);
@ -40,6 +41,7 @@
getArea(CityID); getArea(CityID);
}); });
// 选项节点获取code --City Code
$("#city").change(function () { $("#city").change(function () {
CityID = $("#city").val(); CityID = $("#city").val();
// console.log(CityID); // console.log(CityID);

View File

@ -1,9 +1,10 @@
// Ajax获取数据,本地json文件
function getData() { function getData() {
$.ajax({ $.ajax({
url: './json/third-level-address.json', url: './json/third-level-address.json', // 本地json文件位置
type: 'get', type: 'get', // ajax 获取方式
async: false, async: false, // 是否异步
success: function (data) { success: function (data) { // 成功,返回data
if (data == "error") { if (data == "error") {
alert("系统错误"); alert("系统错误");
return; return;
@ -11,47 +12,47 @@ function getData() {
dataJson = data; dataJson = data;
} }
}); });
return dataJson; return dataJson; //返回json数据
} }
// 获取province(省)
function getCountry() { function getCountry() {
var data = getData(); var data = getData(); // 获取json数据
var options = "<option value='0'>--请选择--</option>"; var options = "<option value='0'>--请选择--</option>"; //定义初始选项
for (var i in data) { for (var i in data) { //循环json数据
options += "<option value='" + data[i].code + "' selected>" + data[i].name + "</option>"; options += "<option value='" + data[i].code + "' selected>" + data[i].name + "</option>"; // 给选项(options) 添加属性value以及显示的数据(城市名称)
$("#province").html(options); $("#province").html(options); // 通过jQuery 将选项添加到下拉框(province)
} }
} }
// 获取City(城市)
function getCity(countryCode) { function getCity(countryCode) { // 参数 :countryCode 是json 数据中省份的 Code
var data = getData(); var data = getData(); // 获取json数据
$('#city').empty(); $('#city').empty(); // 先置空city的选项,无所谓
var options = "<option value='0'>--请选择--</option>"; var options = "<option value='0'>--请选择--</option>"; //定义初始选项
for (var i in data) { for (var i in data) { //循环json数据
for (let j = 0; j < data[i].children.length; j++) { for (let j = 0; j < data[i].children.length; j++) { // 这个循环是判断省份下面城市的数量,不循环,获取不到其他的城市,只能获取一个
if (countryCode && countryCode == data[i].code) { if (countryCode && countryCode == data[i].code) { // 通过Code 判断来显示城市
options += "<option value='" + data[i].children[j].code + "' selected>" + data[i].children[j].name + "</option>"; options += "<option value='" + data[i].children[j].code + "' selected>" + data[i].children[j].name + "</option>"; // 这里注意:children[j],一定要是j,如果填写[i],会超过城市的数量(数组越界)会报错!!!
} }
} }
$("#city").html(options); $("#city").html(options); // 通过jQuery 将选项添加到下拉框(city)
} }
} }
// 获取Area(区域)
function getArea(cityCode) { function getArea(cityCode) { // 参数 :cityCode 是json 数据中市的 Code
var data = getData(); var data = getData(); // 获取json数据
var options = "<option value='0'>--请选择--</option>"; var options = "<option value='0'>--请选择--</option>"; // 定义初始选项
for (var i in data) { for (var i in data) { //循环json数据
for (let j = 0; j < data[i].children.length; j++) { for (let j = 0; j < data[i].children.length; j++) { // 这个循环是判断省份下面城市的数量,不循环,获取不到其他的城市,只能获取一个
for (let k = 0; k < data[i].children[j].children.length; k++) { for (let k = 0; k < data[i].children[j].children.length; k++) { // 这里的循环是获取城市城市下面区域的数量长度,同上,否则只会获取一个数据
if (cityCode && cityCode == data[i].children[j].code) { if (cityCode && cityCode == data[i].children[j].code) { // 通过Code 判断来显示区域
options += "<option value='" + data[i].children[j].children[k].code + "' selected>" + data[i].children[j].children[k].name + "</option>"; options += "<option value='" + data[i].children[j].children[k].code + "' selected>" + data[i].children[j].children[k].name + "</option>"; // 这里的children[j].children[k]同上,否则数组越界报错
} }
} }
} }
$("#area").html(options); $("#area").html(options); // 通过jQuery 将选项添加到下拉框(area)
} }
} }

View File

@ -45,20 +45,24 @@
</body> </body>
<script> <script>
$(function () { $(function () {
// 给username 输入框绑定焦点失去事件
$('.Username').blur(function () { $('.Username').blur(function () {
$('.Username').tooltip('userName'); $('.Username').tooltip('userName'); // 用户名验证函数
}) })
// Email 输入框绑定焦点失去事件
$('.Email').blur(function () { $('.Email').blur(function () {
$('.Email').tooltip('email'); $('.Email').tooltip('email'); // 邮箱验证函数
}) })
// Password 输入框绑定焦点失去事件
$('.Password').blur(function () { $('.Password').blur(function () {
$('.Password').tooltip('password'); $('.Password').tooltip('password'); // 密码验证函数
}) })
}) })
// 表单验证,全为true 则提交,反之不提交
function func() { function func() {
var flag1 = $('.Username').tooltip('userName'); var flag1 = $('.Username').tooltip('userName');

View File

@ -4,23 +4,24 @@
var methods = { var methods = {
//用户名验证 //用户名验证
userName: function () { userName: function () {
// 定义默认字段
var success = "success"; var success = "success";
var error = "Error"; var error = "Error";
var info = "UserName"; var info = "UserName";
// 用户名验证的正则表达式
//这些方法里面的this指针已经被替换为了$(this)
var reg = /^[a-zA-Z0-9\_\+\-\&\$\*]{6,10}$/; var reg = /^[a-zA-Z0-9\_\+\-\&\$\*]{6,10}$/;
// 用户名为空的情况
if (this.val() == '') { if (this.val() == '') {
// $(".info1").css('color','#000'); // $(".info1").css('color','#000');
$(".info1").show().html(info); $(".info1").show().html(info);
return false; return false;
} else if (this.val().match(reg)) { } else if (this.val().match(reg)) { // 用户名正则匹配
$(".info1").css('color', 'green'); $(".info1").css('color', 'green');
// $(".info1").css('background','#fff'); // $(".info1").css('background','#fff');
$(".info1").show().html(success); $(".info1").show().html(success);
return true; return true;
} else { } else { // 正则匹配失败触发的事件
$(".info1").css('color', 'red'); $(".info1").css('color', 'red');
$(".info1").show().html(error); $(".info1").show().html(error);
return false; return false;
@ -30,19 +31,22 @@
}, },
// 密码验证 // 密码验证
password: function () { password: function () {
// 定义默认字段
var success = "success"; var success = "success";
var error = "Error"; var error = "Error";
var info = "Password"; var info = "Password";
// 密码验证正则表达式
var reg = /^[a-zA-Z0-9\_\-]{8,10}$/; var reg = /^[a-zA-Z0-9\_\-]{8,10}$/;
// 密码为空的情况
if (this.val() == '') { if (this.val() == '') {
// $(".info1").css('color','#000'); // $(".info1").css('color','#000');
$(".info3").show().html(info); $(".info3").show().html(info);
return false; return false;
} else if (this.val().match(reg)) { } else if (this.val().match(reg)) { // 正则匹配
$(".info3").css('color', 'green'); $(".info3").css('color', 'green');
$(".info3").show().html(success); $(".info3").show().html(success);
return true; return true;
} else { } else { // 匹配失败的情况
$(".info3").css('color', 'red'); $(".info3").css('color', 'red');
$(".info3").show().html(error); $(".info3").show().html(error);
return false; return false;
@ -51,20 +55,22 @@
}, },
//邮箱验证 //邮箱验证
email: function () { email: function () {
// 定义默认字段
var success = "success"; var success = "success";
var error = "Error"; var error = "Error";
var info = "Email"; var info = "Email";
// 邮箱验证正则表达式
var reg = /^\w+@\w+(.[a-zA-Z]{2,3}){1,2}$/; var reg = /^\w+@\w+(.[a-zA-Z]{2,3}){1,2}$/;
// 邮箱为空的情况
if (this.val() == '') { if (this.val() == '') {
// $(".info1").css('color','#000'); // $(".info1").css('color','#000');
$(".info2").show().html(info); $(".info2").show().html(info);
return false; return false;
} else if (this.val().match(reg)) { } else if (this.val().match(reg)) { // 正则匹配
$(".info2").css('color', 'green'); $(".info2").css('color', 'green');
$(".info2").show().html(success); $(".info2").show().html(success);
return true; return true;
} else { } else { // 匹配失败事件
$(".info2").css('color', 'red'); $(".info2").css('color', 'red');
$(".info2").show().html(error); $(".info2").show().html(error);
return false; return false;
@ -74,7 +80,7 @@
}; };
// 函数调用的方法
$.fn.tooltip = function (method) { $.fn.tooltip = function (method) {
// Method calling logic // Method calling logic