下拉面板式省市区三级联动jquery插件,视觉更清爽,交互体验更友好。
Clone or download
史涛 史涛
史涛 and 史涛 update dist docs
Latest commit fdb4b36 Jan 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea add document click hide fun Feb 27, 2016
dist update dist docs Jan 6, 2018
docs update dist docs Jan 6, 2018
src 沾益县 变更为 沾益区 Oct 7, 2017
.gitattributes Updated Dec 26, 2015
.gitignore update Feb 27, 2016
.jscsrc Update Aug 27, 2015
.jshintrc Update Aug 27, 2015
.npmignore Added .npmignore Dec 26, 2015
CHANGELOG.md update Feb 27, 2016
LICENSE update license Jan 6, 2018
README.md update markdown Sep 9, 2016
bower.json update bower.json Nov 22, 2016
gulpfile.js refine the structure Feb 27, 2016
package.json update license Jan 6, 2018

README.md

City Picker

A simple jQuery plugin for picking provinces, cities and districts of China.

##Release History

###v1.1.0 Add function to get the code:

// type: null or undefined(get the full code path, separated with /), province, city, district
$('.city-picker').data('citypicker').getCode(type);

Main

dist/
├── city-picker.js          ( 7 KB)
├── city-picker.min.js      ( 4 KB)
├── city-picker.data.js     (98 KB)
└── city-picker.data.min.js (68 KB)

Getting started

Quick start

Four quick start options are available:

  • Download the latest release.
  • Clone the repository: git clone https://github.com/tshi0912/city-picker.git.
  • Install with NPM: npm install city-picker.
  • Install with Bower: bower install city-picker.

Installation

Include files:

<script src="/path/to/jquery.js"></script><!-- jQuery is required -->
<script src="/path/to/city-picker.data.js"></script>
<script src="/path/to/city-picker.js"></script>

Create HTML elements:

<div style="position:relative;"><!-- container -->
  <input readonly type="text">
</div>

Usage

Initialize with data-toggle="city-picker" attribute

Basic

<div style="position:relative;">
  <input readonly type="text" data-toggle="city-picker">
</div>

Custom placeholders

<div style="position:relative;">
  <input readonly type="text" data-toggle="city-picker" placeholder="customized placeholder...">
</div>

Responsive width

<div style="position:relative;">
  <input readonly type="text" data-toggle="city-picker" data-responsive="true" style="width:50%;">
</div>

Custom province/city/district

<div style="position:relative;">
  <input readonly type="text" data-toggle="city-picker" value="江苏省/常州市/溧阳市">
</div>

Initialize with $.fn.city-picker method

Basic

$('#target').citypicker();

Custom districts

$('#target').citypicker({
  province: '江苏省',
  city: '常州市',
  district: '溧阳市'
});

Options

  • Change the default options with $().citypicker(options).
  • Change the global default options with $.fn.citypicker.setDefaults(options).

simple

  • Type: Boolean
  • Default: false

Make the address level more simple, e.g. 内蒙古 instead of 内蒙古自治区.

level

  • Type: String
  • Default: district

Only province, province + city, or province + city + district.

responsive

  • Type: Boolean
  • Default: false

make the drop down and mask span responsive on width.

placeholder

  • Type: Boolean
  • Default: 请输入省/市/区

Show placeholder (with an <option> element).

province

  • Type: String
  • Default: null

Defines the initial value of province. If it is a existing province in city-picker.data.js, it will be selected. If not, it will be used as a placeholder.

city

  • Type: String
  • Default: null

Defines the initial value of city. If it is a existing city under the selected province, it will be selected. If not, it will be used as a placeholder.

district

  • Type: String
  • Default: null

Defines the initial value of district. If it is a existing district under the selected city, it will be selected. If not, it will be used as a placeholder.

Methods

reset()

Reset the selects to the initial states (Undo changed).

Examples:

$().citypicker('reset');

destroy()

Destroy the city-picker instance, but keep the selected districts.

If you want to remove the selected districts, you can call reset method first and then call this method.

No conflict

If you have to use other plugin with the same namespace, just call the $.fn.city-picker.noConflict method to revert to it.

<script src="other-plugin.js"></script>
<script src="city-picker.js"></script>
<script>
  $.fn.citypicker.noConflict();
  // Code that uses other plugin's "$().citypicker" can follow here.
</script>

Browser support

  • Chrome (latest 2)
  • Firefox (latest 2)
  • Internet Explorer 8+
  • Opera (latest 2)
  • Safari (latest 2)

As a jQuery plugin, you also need to see the jQuery Browser Support.

License

MIT © Tao Shi