Skip to content

Latest commit

 

History

History
235 lines (139 loc) · 4.56 KB

README.md

File metadata and controls

235 lines (139 loc) · 4.56 KB

City Picker

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

CI

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 © ettingshausen
MIT © Tao Shi