All Projects → kylekatarnls → vicopo

kylekatarnls / vicopo

Licence: MIT license
API HTTP et Script pour trouver les villes à partir d'un code postal et code postaux à partir d'une ville

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
PHP
23972 projects - #3 most used programming language
ruby
36898 projects - #4 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to vicopo

ViaCEP
The ViaCEP API/webservice .NET client
Stars: ✭ 21 (-22.22%)
Mutual labels:  code, postal
Tr Geozones
Ülkeler ve Türkiye İl İlçe Semt Mahalle ve Posta Kodu Veritabanı (Laravel)
Stars: ✭ 46 (+70.37%)
Mutual labels:  code, city
jqIpLocation
jqIpLocation – jQuery Plugin that returns the location of an IP address in JSON format
Stars: ✭ 18 (-33.33%)
Mutual labels:  jquery-plugin, city
Sliderawesome
A slider plugin full of various effects and styles that allows any customization. 一款可定制的风格效果多样的轮播图插件。
Stars: ✭ 204 (+655.56%)
Mutual labels:  jquery-plugin
Jquery Aniview
A jQuery plugin that works in harmony with animate.css in order to enable animations only when content comes into view.
Stars: ✭ 205 (+659.26%)
Mutual labels:  jquery-plugin
Magnify
A lightweight jQuery magnifying glass zoom plugin.
Stars: ✭ 218 (+707.41%)
Mutual labels:  jquery-plugin
Modaal
An accessible dialog window library for all humans.
Stars: ✭ 2,702 (+9907.41%)
Mutual labels:  jquery-plugin
Hc Offcanvas Nav
JavaScript library for creating toggled off-canvas multi-level navigations, allowing endless nesting of submenu elements, supporting swipe gestures, keyboard interactions and ARIA attributes.
Stars: ✭ 201 (+644.44%)
Mutual labels:  jquery-plugin
Jquery Viewer
A jQuery plugin wrapper for Viewer.js.
Stars: ✭ 235 (+770.37%)
Mutual labels:  jquery-plugin
Bootstrap Checkbox
A checkbox component based on Bootstrap framework.
Stars: ✭ 214 (+692.59%)
Mutual labels:  jquery-plugin
Amaranjs
Nice, sleek and stylish notifications.
Stars: ✭ 214 (+692.59%)
Mutual labels:  jquery-plugin
Jquery Resizable
A small jQuery plug-in to make DOM components resizable
Stars: ✭ 206 (+662.96%)
Mutual labels:  jquery-plugin
Jquery Multiselect
Turn a multiselect list into a nice and easy to use list with checkboxes.
Stars: ✭ 221 (+718.52%)
Mutual labels:  jquery-plugin
Fancytree
JavaScript tree view / tree grid plugin with support for keyboard, inline editing, filtering, checkboxes, drag'n'drop, and lazy loading
Stars: ✭ 2,398 (+8781.48%)
Mutual labels:  jquery-plugin
Ajax Live Search
AJAX Live Search is a PHP search form that similar to Google Autocomplete feature displays the result as you type.
Stars: ✭ 238 (+781.48%)
Mutual labels:  jquery-plugin
Disableautofill.js
Disable form auto-fill and auto-complete functions.
Stars: ✭ 201 (+644.44%)
Mutual labels:  jquery-plugin
Liteaccordion
A lightweight horizontal accordion plugin for jQuery.
Stars: ✭ 234 (+766.67%)
Mutual labels:  jquery-plugin
Loadgo
LoadGo is a Javascript plugin for using your logo as a progress bar.
Stars: ✭ 214 (+692.59%)
Mutual labels:  jquery-plugin
Structured Filter
jQuery UI widget for structured queries like "Contacts where Firstname starts with A and Birthday before 1/1/2000 and State in (CA, NY, FL)"...
Stars: ✭ 213 (+688.89%)
Mutual labels:  jquery-plugin
Percircle
⭕️ CSS percentage circle built with jQuery
Stars: ✭ 217 (+703.7%)
Mutual labels:  jquery-plugin

VICOPO

API HTTP et Script pour trouver les villes à partir d'un code postal et code postaux à partir d'une ville

Vicopo est un moyen léger et rapide rechercher une ville française et implémenter des propositions à la volée, l'autocomplétion d'un champ de ville ou de code postal et la conversion de l'un vers l'autre.

https://vicopo.selfbuild.fr/

Utilisation

Afficher les villes possibles dans une liste

<input id="ville" placeholder="Entrez un code postal ou une ville" autocomplete="off" size="50">
<ul>
  <li data-vicopo="#ville">
    <strong data-vicopo-code-postal></strong>
    <span data-vicopo-ville></span>
  </li>
</ul>

Placez le code ci-dessus n'importe où sur votre page, et insérez le script après jQuery (par exemple avant </body>) :

<script
  src="https://code.jquery.com/jquery-3.5.1.min.js"
  integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
  crossorigin="anonymous"></script>
<script src="vicopo.min.js"></script>

Voir la démonstration

Ajoutez l'attribut data-vicopo à un élément et passez-lui en paramètre un sélecteur qui pointera vers un champ(<input>, <select> ou <textarea>). Quand la valeur du champs change, l'élément sera duppliqué autant de fois qu'il y a de villes commençant par la valeur tapée ou dont le code postal commence par la valeur tapée (la recherche commence à partir de 2 caractères tapés).

À l'intérieur de ces éléments, les balises portant les attributs data-vicopo-code-postal, data-vicopo-ville seront respectivement pourvus du code postal et de la ville. Si ces balises sont des champs, utilisez data-vicopo-val-code-postal et data-vicopo-val-ville pour que les informations soient assignées en tant que valeur.

Compléter le champ avec le premier nom de ville trouvé

$('#ville').keyup(function (e) {
  if(e.keyCode == 13) {
    var $ville = $(this);
    $.vicopo($ville.val(), function (input, cities) {
      if(input == $ville.val() && cities[0]) {
        $ville.val(cities[0].city).vicopoTargets().vicopoClean();
      }
    });
    e.preventDefault();
    e.stopPropagation();
  }
});

Voir la démonstration

Lors de l'appui sur Entrée, on récupère la première ville et on l'applique comme nouvelle valeur du champ.

L'ajout optionnel de .vicopoTargets().vicopoClean() permet d'effacer la liste de suggestions.

Récupérer les villes au fur et à mesure de la saisie

$('#recherche').vicopo(function (cities) {
  if(cities.length) {
    $('#ville').val(cities[0].city);
    $('#code').val(cities[0].code);
  } else {
    $('#ville').val('');
    $('#code').val('');
  }
  $('#count').val(cities.length + ' villes trouvées');
});

Les méthodes .vicopo(), .codePostal() et .ville() appliquées à un élément jQuery permettent de récupérer dans une variable le résultat de la recherche à chaque lettre saisie dans le champ.

Utilisation sans champs de saisie

$('#cp').click(function () {
  $.ville('strasbourg', function (input, cities) {
    $('#cp-result').text(cities[0].code);
  });
});
$('#villes').click(function () {
  $.ville('des', function (input, cities) {
    $('#villes-result').text(cities.map(function (entry) {
      return entry.city;
    }).join(', '));
  });
});

Voir la démonstration

Les méthodes $.vicopo(), $.codePostal() et $.ville() prennent en premier paramètre le code postal ou la ville (partiel ou entier) recherché et en second paramètre une fonction de callback appelée avec le terme recherché en premier paramètre, les villes trouvées en second et en troisième 'code' pour une recherche de code postal ou 'city' pour une recherche de ville.

API HTTP brute au fomart JSON (par défaut)

Protocole URL
HTTP http://vicopo.selfbuild.fr/cherche/680
HTTPS https://vicopo.selfbuild.fr/cherche/680
{
    "input": "680",
    "cities": [
        {
            "code": 68040,
            "city": "INGERSHEIM"
        },
        {
            "code": 68000,
            "city": "COLMAR"
        }
    ]
}

Plugin node.js

Vicopo est disponible sous node.js directement via require('vicopo') :

var ville = 'Lille';
var vicopo = require('vicopo')('http');
vicopo(ville, function (err, cities) {
    if (err) {
        throw err;
    } else {
        console.log(cities);
    }
});

Plus d'options sur https://vicopo.selfbuild.fr/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].