Giter VIP home page Giter VIP logo

city-picker's Introduction

City Picker

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

###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

city-picker's People

Contributors

huangchanghuan avatar myz6 avatar philwu avatar tshi0912 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.