This page in English

jQuery combobox




Introductie

jQuery.combobox is een plugin die het standaard HTML-element <select> omvormt tot een (in HTML niet bestaand) combobox-element. Het is eenvoudig te installeren en vorm te geven d.m.v. CSS.
Een combobox is een combinatie tussen een tekstveld een een selectiemenu. De gebruiker kan één van de voorgedefinieerde keuzemogelijkheden selecteren of zelf een niet voorkomende keuze typen.
De combobox is voorzien van een autoComplete functie, dit houdt in dat tijdens het typen de overeenkomende voorgedefinieerde keuzemogelijkheden worden weergegeven.




Voorbeelden

Een combobox met standaard configuratie.



Een combobox zonder button.



Een combobox met aangepaste button en callbackSelectOption functie.






Installeren

Importeer de jQuery bibliotheek, de combobox plugin en de combobox stylesheet in de <head> van de pagina:

<link rel="stylesheet" type="text/css" media="all" href="css/combobox.css" />
<script language="javascript" type="text/javascript" src="js/jquery.js"></script>
<script language="javascript" type="text/javascript" src="js/jquery.combobox.js"></script>

Maak een standaard HTML <select>-element.

<select name="foo" id="foo" tabindex="2">
	<option value="a" class="class_of_option">abcde</option>
	<option value="b">bcdef</option>
	<option value="c">cdefg</option>
	<option value="d">defgh</option>
	<option value="e">efghi</option>
	<option value="f">fghij</option>
	<option value="g">ghijk</option>
	<option value="h">hijkl</option>
	<option value="i">ijklm</option>
</select>

Voeg de volgende code toe in de <head> van de pagina:

<script language="javascript" type="text/javascript">
	$(document).ready(function() {
		$('#foo').combobox({
			//	Hier de configuratie
		});
	});
</script>

Nadat de plugin is uitgevoerd, ziet de DOM er zo uit:

<div class="combobox_container" id="combobox_container_foo">
	<input class="combobox_input" value="abcde" type="text" tabindex="2" autocomplete="off" />
	<input class="combobox_hidden" name="foo" id="foo" value="a" type="hidden" />
	<a href="#" class="combobox_button"><span>&gt;</span></a>
	<ul style="display: none;" class="combobox_summary">
		<li class="class_of_option"><a href="a">abcde</a></li>
		<li><a href="b">bcdef</a></li>
		<li><a href="c">cdefg</a></li>
		<li><a href="d">defgh</a></li>
		<li><a href="e">efghi</a></li>
		<li><a href="f">fghij</a></li>
		<li><a href="g">ghijk</a></li>
		<li><a href="h">hijkl</a></li>
		<li><a href="i">ijklm</a></li>
	</ul>
</div>



Configuratie

De te configureren onderdelen (met standaard waarden):

combobox.defaults = {
	showOnMouseOver:	false,
	hideOnMouseOut:		false,
	autoComplete:		true,
	maxVisibleOptions:	1000000,
	buttonText:		'&gt;',
	buttonToggle:		true,
	callbackShowOptions:	function(arr) {},
	callbackSelectOption:	function(val) {}
};

showOnMouseOver Boolean
Of de opties onmouseover worden weergegeven of niet (dan onclick).

hideOnMoseOut Boolean
Of de opties onmouseout worden verborgen of niet.

autoComplete Boolean
Of tijdens het typen (onkeydown) de overeenkomende opties worden getoond of niet.

maxVisibleOptions Number
Bepaald hoeveel opties er maximaal onder elkaar worden weergegeven voordat de scrollbalk geactiveerd wordt.

buttonText String
De tekst op de button, laat leeg om geen button te genereren (bijvoorbeeld i.c.m. showOnMouseOver: true).

buttonToggle String
Of de opties met een tweede onclick worden verborgen of niet.

callbackShowOptions(arr) Function
Functie welke wordt aangeroepen nadat de weer te geven opties zijn veranderd (tijdens het typen of na het weergeven van de opties via de knop). Als parameter wordt een array van de weergegeven opties meegegeven

callbackSelectOption(val) Function
Functie welke wordt aangeroepen nadat een optie is geselecteerd. Als parameter wordt de waarde van de geselecteerde optie meegegeven.




Licentie

De jQuery.combobox plugin is gelicentieerd onder de MIT licentie.