Best Period Picker

Autocomplete like Google jQuery Plugin

JQuery Autocomplete plugin is a lightweight simple and easy in settings autocomplete like Google. Support Accent Folding

Local Remote Local&Remote Source Download

How to use autocomplete?

Insert code

add this code after </body> in your document.

<link type="text/css" rel="stylesheet" hr­ef="autocomplete.css"/>
<script sr­c="jquery.min.js"></script>
<scri­pt sr­c="autocomplete.js"></script>

Add data for autocomplete

var states = [
  'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
  'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 
  'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 
  'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 
  'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 
  'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire',
  'New Jersey', 'New Mexico', 'New York', 'North Carolina', 
  'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 
  'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 
  'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 
  'West Virginia', 'Wisconsin', 'Wyoming'
];

Init autocomplete plugin

$(function() {
  $("input").autocomplete({
    source:[states]
  }); 
});

Autocomplete from remote data

Ajax

use ajax for getting data from server

<script>
$('#remote_input').autocomplete({
  valueKey:'title',
  source:[]
});
$('button#open').click(function(){
  $('#remote_input').trigger('open');
  $('#remote_input').focus();
});
</script>

or use custom function

$("#remote_input1").autocomplete({
 source:[
  function( q,add ){
   $.getJSON("index.php?s="+encodeURIComponent(q),function(resp){
    add(resp.data)
   })
  }
 ]
});

or combain static with dinamic variants

$('#remote_input2').autocomplete({source:[
 {
  url:"/component/jquery_plugins/?task=demodata&q=%QUERY%",
  type:'remote'
 },
 ["One","Two","Three"]
]});

You can use not only array, you can use object

$('#remote_input2').autocomplete({source:[{
 data:[
  {id:1, title:"alabama"},
  {id:2, title:"alaska"},
  {id:3, title:"georgia"},
  {id:4, title:"texas"},
  {id:6, title:"california"}
 ],
 getTitle:function(item){
  return item['title']
 },
 getValue:function(item){
  return item['title']
 },	
}]}).on('selected.xdsoft',function(e,datum){
 alert(datum.id);
 alert(datum.title);
}); 

Full options list

Name default Ex.
minLength 0 {minLength:3}
The minimum length of the input query, the plugin will handle it
appendMethod "concat" {appendMethod:'replace'}
How to update a set of data source. If all your search logic is on the server side, you can disable the filter method and the valid and output data came from the server as it is
jQuery('#inputWhereareyou').autocomplete({
 dropdownWidth:'auto',
 appendMethod:'replace',
 valid: function () {
  return true;
 },
 source:[
  function (q, add){
   var url = 'http://geocode-maps.yandex.ru/1.x/?callback=?';
   jQuery.getJSON(url+"&format=json&geocode="+encodeURIComponent(q), function(data){
    var suggestions = [];
    if (data.response) {
     jQuery.each(data.response.GeoObjectCollection.featureMember, function(i, val){  
      suggestions.push(val.GeoObject.metaDataProperty.GeocoderMetaData.text);  
     });
     add(suggestions);
    }
   })
  }
 ]
});
accents true
Enable accent Folding for Auto-Complete. When you will type «Àɬă» plugin will find «Alabama» item
replaceAccentsForRemote true
if accents==true and you are typing «Àɬă» plugin will find Alabama in local source. But if replaceAccentsForRemote==false then to remote server will be sent how is was written.
valueKey 'value'
The key for the identification field of the object, which contains the value
titleKey 'title' {titleKey:'value'}
The key for the identification field of the object, which contains the suggestion's label
highlight true
highlight the matching parts of words
showHint true
Show prompts behind the input field
Width for dropdown list
Custom style for dropdown list
itemStyle {} {itemStyle:{background:'red', color:'#fff', width:'500px'}
Custom style for dropdown list element
hintStyle false {hintStyle:{background:'red'}
When plugin inits, style for "Hint" element takes from input element. All style's field copy to "Hint" element, but you can add custom style to "Hint". It will be combined with the copied style
style false {style:{background:'red'}
Plugin wraps input element in DIV box. For it is possible to set a custom style
openOnFocus true
Open dropdown list after focus in input
closeOnBlur true
Close dropdown list after blur from input
autoselect false
When element lost focus and nothing was selected take first element from suggestions
limit 20
How many suggestions will be shown in drop-down list
visibleLimit 20
How many suggestions will be visible in drop-down list. If limit>visibleLimit then will show scrollbar
visibleHeight 0
Alternative for visibleLimit. It value simple reaplace visibleLimit*defaultHeightItem and will set max-height rule for dropdown list
defaultHeightItem 30
When dropdownlist not visible then imposible to get height from suggestion's item, so it value will be apply in this case
source []
{
 source:[
  // local
  ['Alpha', 'Beta', 'Gamma'],
  
  // custom function
  function( q,add ){
   add(['Delta','Epsilon','Zeta','Eta']);
  },
  
  // local like object
  {
   data:['Theta','Iota','Kappa']
  },
  
  // dinamic from local server
  {
   url:"/?task=demodata&q=%QUERY%",
   type:'remote'
  },
  
  // preload data from local server
  {
   url:"/?task=demodata&q=will",
   type:'remote'
  },
  
  // dinamic request from remote 
  // server through JSONP
  {
   url:"/test.php?query=%QUERY%",
   type:'remote',
   ajax:{
    dataType : 'jsonp'
   }
  }
 ]
}
Source for suggestions, can be array or object or function.
getValue function
if in your data main value is not 'value' field, use it function
getValue:function(item){
	return item.title
}
getTitle function
When an element is rendered, the text is taken from the "Title", but you can override this behavior
getTitle:function(item){
	return item.value
}
replace function
Function compiles a URL address for AJAX request. Default
function( url,query ){
 return url.replace('%QUERY%',encodeURIComponent(query));
}
render function
Function item renderer. Default
function( item,source,pid,query ){
 var value = item[this.valueKey],
     title = item[this.titleKey];
 return '<div '+(value==query?'class="active"':'')+
  ' data-value="'+
  encodeURIComponent(value)+'">'+
  title+
  '</div>';
}
preparse function
Custom manipulate with data. Default
function(items){
	return items;
}
valid function
Checks the suitability of a particular item, the current query. Default
function ( value,query ){
	return value.toLowerCase().indexOf(query.toLowerCase())!=-1;
}
filter function
Filter source's data. Default
function ( items,query,source ){
 var results = [],value = '';
 for(var i in items){
  value = items[i][this.valueKey];
  if( this.valid(value,query)  ){
   results.push(items[i]); 
  }
  return results;
 }
equal function
Method to search equal values. Default
function( value,query ){
 return query.toLowerCase()==value.substr(0,query.length).toLowerCase();
}
findRight function
Method to search for an item whose value will be placed in the Hint. Default
function(items,query,source){
 var results = [],value = '';
				
 for(var i in items){
  value = items[i][this.valueKey];
				
  if( this.equal(value,query,source) ){
   return items[i];
  }
 }
				
 return false;
}

Methods

destroy Use when you need destroy plugin
jQuery('#auto1').autocomplete({
	source:[states]
});
// ...
jQuery('#auto1').autocomplete('destroy');
        
update When the page size has been changed, or have been made some changes in DOM, you will need to recalculate the position and size to wrap plug
jQuery('#auto1').autocomplete({
	source:[states]
});
// ...
jQuery('#auto1').autocomplete('update');
options(mixed _options) Set other options after init plugin
jQuery('#auto1').autocomplete({
	source:[states]
});
// ...
jQuery('#auto1').autocomplete('options',{sources:[['one','two','three']]});
setSource(mixed source[,int id]) Set other source for plugin's suggestions. If you did not specify "id" when will by replace all sources list, but if you need replace only one source then you should be put second argument
$('#combine').autocomplete();

$('#combine')
 .autocomplete('setSource',{
  {
   valueKey:'title',
   url:"/test.php?query=%QUERY%",
   type:'remote',
   getValue:function(item){
    return item.title
   },
   ajax:{
    dataType : 'jsonp'
   }
  },
  [],
  []
});
	
$('#combine')
 .autocomplete('setSource',states,1)
 .autocomplete('setSource',['one','two','three','for','five','six','seven','eight','nine','zero'],2);
setSource([int id]) Sometimes you need replace only one field for source or just learn what is this option
//for above example
var first = $('#combine')
	.autocomplete('getSource',0);
first.url = "/test.php?query=%QUERY%&test=1",

jQuery Photobox

A lightweight CSS3 image gallery plugin for jQuery that is pretty to look and and easy to use.

jQuery AlignColumn

jQuery plugin for aligning columns of a table on decimal or other character.

imgLiquid

A jQuery Plugin to resize images to fit in a container.

Autocomplete like Google

Simple autocomplete like Google

jQuery Etherpad

jQuery plugin for embedding Etherpad

Usage & Examples

Include jQuery.js,

...

jQuery imagesScrolling

Jquery plugin images scrolling

jQuery FocusPoint

jQuery plugin for 'responsive cropping'. Dynamically crop images to fill available space without...

jQuery Month selector

jQueryUI Widget that enables to display and select a month and year using the mm.itemselector widget

Modern Blink

Modern Blink provides the behavior of the blink tag using CSS Animations. Will fallback to jQuery...

jQuery mSlide

Simple and easy to use slider-gallery with touch support.

Animated Table Sorter

Animated Table Sorter is a simple html table sorter, with the added benefit of animating the...

jQuery conventAccordion

jQuery plugin for horizontal and/or vertical accordion.

jQuery Waterwheel Carousel

This jQuery plugin can display images with a cascading waterwheel effect.

Ezdz [izy-dizy]

A jQuery plugin to turn standard input type file into a nice drag&drop zone with validators...

jQuery Phoenix

jQuery plugin to save form fields values to Local Storage via HMTL5 Web Storage API. Lost...

appendGrid – The dynamic table input jQuery plugin

appendGrid allow you to input structured data row by row such like filling spreadsheets. It...

Zebra_Tooltips

A lightweight, highly-configurable jQuery plugin for creating simple but smart and visually...

jQuery Nice file Input

The jQuery Nice File Input Plugin provides batter looking file input HTML element, while making...

easing – easing functions for jQuery or standalone

Easing function for use with or without jQuery. In addition to the standard list of easing...

International Telephone Input

A jQuery plugin for entering international telephone numbers

A very light weight(2.5kb minified) modal window plugin which suits your basic needs.

modalBox.js is a very light weight modal window plugin packed with only most used features and...

Fotorama

A simple, stunning, powerful jQuery gallery.

plainModal

The simple jQuery Plugin for customizable modal windows.

jQuery PieTimer

A CSS3-based pie timer.

Zebra_Pin

A lightweight jQuery plugin for pinning any element to the page or to a container element

Rangy Inputs

jQuery plug-in for selection and caret manipulation within textareas and text inputs.

jQuery Number Format

Easily format numbers for display use. Replace numbers inline in a document, or return a...

jQuery Circliful Plugin

jQuery plugin for showing circle statistics.

jQuery Fullscreen

jQuery Fullscreen plugin allows you to open any element on a page in fullscreen mode without...

Bootstrap Tags Input

jQuery plugin providing a Twitter Bootstrap user interface for managing tags.

Responsive Carousel

Simple and friendly responsive carousel plugin for jQuery. This library accept any type of...

aciTree – A customizable treeview control

aciTree renders a treeview control based on a simple data structure. The tree can be lazy loaded...

Mobiscroll Image & Text Scroller

Renders a scrollable list of images with or without optional text for easy data picking on touch...

jQuery Super Labels

Give your forms a helping of awesome!

jQuery UI Size Effect

Resize an element to a specified width and height.

Parallax ImageScroll

Parallax ImageScroll is a simple and easy jQuery plugin for creating image parallax effects when...

jQuery.popLockIt

A jQuery plugin for 'locking' short content in place as the user scrolls by longer content. For...

WysiBB – Wysiwyg BBcode editor

Wysiwyg BBcode editor based on jQuery

TimeTo

Timer countdown digital clock

blueimp Gallery

blueimp Gallery is a touch-enabled, responsive and customizable image and video gallery, carousel...

Easy responsive tabs to accordion

Easy responsive tabs - is a lightweight jQuery plugin which optimizes normal horizontal or...

ImgAreaSelect – image selection/cropping plugin

ImgAreaSelect is a plugin for selecting a rectangular area of an image. It allows web developers...

jQuery Gridly

Gridly is a jQuery plugin that allows for dragging and dropping as well as resizing.

Alpaca Forms

Easy Forms Engine for jQuery / Bootstrap.

jQuery Form – Fancy Web Form Designer

Formoid - Super Easy jQuery Contact Forms, Online Email Form Maker. * Easy - Build any type of...

perfect-scrollbar

Tiny but perfect jquery scrollbar plugin.

BootStrap Maxlength

jQuery and Bootstrap plugin for character count on inputs

jQuery Lifestream

Show a stream of your online activity with jQuery
good