本文共 1563 字,大约阅读时间需要 5 分钟。
初始化省份选项
通过set_province()函数初始化省份选项:
function set_province() { for (var i in region) { province[i - 1] = new Option(region[i].name, region[i].name); }}基于事件的初始化
在页面加载完成后,通过jQuery.each遍历所有select元素:
$(document).ready(function () { $("select").each(function () { var $ele = $(this); var str = "@Model.personalDatas.personalDataAddress"; var $value = str.split("|"); $ele.find("option[value='" + $value[0] + "']").attr("selected", "selected"); var index = $ele.find("option[value='" + $value[0] + "']").index(); var data_region = region[index + 1]; city.length = 1; for (var i in data_region['child']) { city[i] = new Option(data_region['child'][i].name, data_region['child'][i].name); } $ele.find("option[value='" + $value[1] + "']").attr("selected", "selected"); console.log(province.selectedIndex); var data_region1 = region[province.selectedIndex + 1]['child'][city.selectedIndex]['child']; zone.length = 1; for (var i in data_region1) { for (var j in data_region1[i]) { zone[j] = new Option(data_region1[i][j].name, data_region1[i][j].name); } } $ele.find("option[value='" + $value[2] + "']").attr("selected", "selected"); $("#address").val($value[3]); });});功能说明
该代码主要完成以下功能:
- 初始化省份选项
- 根据用户选择的省份自动加载区域信息
- 基于区域信息初始化城市和区的选项
- 设置默认地址信息
转载地址:http://gitzz.baihongyu.com/