省市区三级联动插件:app-jquery-cityselect.js
(function ($)
{
$.fn.cityselect = function (options)
{
var settings = $.extend ({}, options); this.empty (); var provinceId, provinceName, cityId, cityName; if (settings.loadDefault)
{
var defaultData = settings.loadDefault (); provinceId = defaultData.provinceId;
provinceName = defaultData.provinceName;
cityId = defaultData.cityId;
cityName = defaultData.cityName;
} var provinceInput = $ ('<select class="form-control" style="width:150px"></select>');
var cityInput = $ ('<select class="citySel form-control" style="width: 150px;margin-left: 10px"></select>'); this.addClass ("input-append");
this.append (provinceInput);
this.append (cityInput); if (settings.loadProvince)
{ var provinceList = settings.loadProvince ();
$.each (provinceList, function (i, p)
{
if (i == 0)
{
if (settings.areaInput)
{
settings.areaInput.val (p.id);
}
if (settings.onAreaIdChanged)
{
settings.onAreaIdChanged (p.id);
}
if (settings.onProvinceChanged)
{
settings.onProvinceChanged (p.id, p.name);
}
}
var node = $ ('<option value="{0}">{1}</option>'.format (p.id, p.name));
if (provinceId && p.id == provinceId)
{
node.attr ("selected", "selected");
setProvinceInput (p.id);
}
provinceInput.append (node);
});
}
else
{
throw "必须设置 loadProvince 回调函数";
} provinceInput.on ("change", function (e, d)
{
var selected = $ (this).find ("option:selected"); if (settings.areaInput)
{
settings.areaInput.val (selected.val ());
}
if (settings.onAreaIdChanged)
{
settings.onAreaIdChanged (selected.val ());
}
if (settings.onProvinceChanged)
{
settings.onProvinceChanged (selected.val (), selected.text ());
} setProvinceInput (selected.val ());
}); function setProvinceInput (provinceId)
{
if (settings.loadCity)
{ var cityList = settings.loadCity (provinceId); cityInput.empty ();
$.each (cityList, function (i, p)
{
if (i == 0)
{
if (settings.areaInput)
{
settings.areaInput.val (p.id);
}
if (settings.onAreaIdChanged)
{
settings.onAreaIdChanged (p.id);
}
if (settings.onCityChanged)
{
settings.onCityChanged (p.id, p.name);
}
}
var node = $ ('<option value="{0}">{1}</option>'.format (p.id, p.name));
if (cityId && p.id == cityId)
{
node.attr ("selected", "selected");
}
cityInput.append (node); }); }
else
{
throw "必须设置 loadCity 回调函数";
} } cityInput.on ("change", function (e, d)
{
var selected = $ (this).find ("option:selected"); if (settings.areaInput)
{
settings.areaInput.val (selected.val ());
}
if (settings.onAreaIdChanged)
{
settings.onAreaIdChanged (selected.val ());
}
if (settings.onCityChanged)
{
settings.onCityChanged (selected.val (), selected.text ());
}
}); return this; }; }) (jQuery);
省市区三级联动插件:app-jquery-cityselect.js的更多相关文章
- jQuery省市区三级联动插件
体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端. 手机扫描二维码体验效果: 代码如下: <!DOCTYPE html> &l ...
- 项目一:第九天 1、前台客户登录 2、Jquery citypicker省市区三级联动插件 4、业务受理(在线下单)
1. 前台客户登录 2. Jquery citypicker省市区三级联动插件 3. 百度地图介绍 4. 业务受理(在线下单) 1 实现前台系统登录功能 1.1 Md5加密 admin(明文)---- ...
- jquery全国省市区三级联动插件distpicker
使用步骤: 1.引入js <script src="distpicker/jquery.min.js" type="text/javascript" ch ...
- 基于Vue的省市区三级联动插件
官网地址:https://distpicker.uine.org/ 安装: npm install v-distpicker --save 局部注册: import VDistpicker from ...
- 插件 原生js 省市区 三级联动 源码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JS实现年月日三级联动+省市区三级联动+国家省市三级联动
开篇随笔:最近项目需要用到关于年月日三级联动以及省市区三级联动下拉选择的功能,于是乎网上搜了一些做法,觉得有一些只是给出了小的案例或者只有单纯的js还不完整,却很难找到详细的具体数据(baidu搜索都 ...
- jquery.cityselect.js基于jQuery+JSON的省市或自定义联动效果
一.插件介绍 最早做省市联动的时候都特别麻烦,后来在helloweba的一篇文章中看到这个插件,很不错的,后来就一直用了. 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最 ...
- jquery省市区三级联动
jquery省市区三级联动(数据来源国家统计局官网)内附源码下载 很久很久没有写博了. 今天更新了项目的省市区三级联动数据,更新后最新的海南三沙都有,分享给所有需要的小伙伴们... JQUERY + ...
- 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能 要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下 ...
随机推荐
- 搭建Ubuntu下c/c++编译环境【转】
1. 安装Ubuntu. 2. 安装gcc 方法一: sudo apt-get install build-essential 安装完了可以执行 gcc--version的 ...
- android之DPAD上下左右四个键控制
我们代码的目的很简单,那就是监听上下左右中这几个键的事件触发.直接上代码: dpad.xml <?xml version="1.0" encoding="utf-8 ...
- Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法:
Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法: ------------------------------------------------------------ ...
- Android ADT安装时卡在Calculating requirements and dependencies
AndroidSDK及Eclipse安装都很顺利,但是在Eclipse下安装ADT插件时,先采用点击Help->installnew software->Add...,无论输入https: ...
- json的引号之伤
最近读他们的jquery解读的源码,由于版本不同,我可能看的是他们解读的1.7的,但是我本身运行的可能是1.9的,所以有些出处,但是中心思想不变,我有疑问的时候,直接debug,让例子自己走一遍,好处 ...
- storm serializable
http://www.programgo.com/article/68283366567/
- 【裸最小生成树】 模板 poj 1258
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #def ...
- swool安装
swoole安装 安装完PHP后,即可安装swoole扩展. swoole扩展下载地址:https://github.com/swoole/swoole-src/releases 尽量选择stable ...
- Firebase 相关
谷歌在 2016年 I/O 大会上推出了 Firebase 的新版本.Firebase 平台提供了为移动端(iOS和Android)和 Web 端创建后端架构的完整解决方案. 从一开始的移动后端即服务 ...
- 河南多校大一训练赛 D
题目链接:http://acm.hust.edu.cn/vjudge/contest/125004#problem/D 密码:acm Description If an integer is not ...