web/static/css/jq-css/demos/autocomplete/folding.html
author ymh <ymh.work@gmail.com>
Mon, 12 Jul 2010 18:23:35 +0200
changeset 9 6014b4b0ad53
permissions -rw-r--r--
update player - jq-css
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<!DOCTYPE html>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
<html lang="en">
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
<head>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
	<meta charset="UTF-8" />
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
	<title>jQuery UI Autocomplete Accent Folding Demo</title>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
	<link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
	<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
	<script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
	<script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
	<script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
	<script type="text/javascript" src="../../ui/jquery.ui.autocomplete.js"></script>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
	<link type="text/css" href="../demos.css" rel="stylesheet" />
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
	<script type="text/javascript">
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
	$(function() {
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
		var names = [ "Jörn Zaefferer", "Scott González", "John Resig" ];
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
		var accentMap = {
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
			'á':'a',
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
			'ö':'o'
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
		};
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
		var normalize = function( term ) {
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
			var ret = '';
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
			for ( var i = 0; i < term.length; i++ ) {
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
				ret += accentMap[ term.charAt(i) ] || term.charAt(i);
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
			}
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
			return ret;
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
		};
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
		$( "#developer" ).autocomplete({
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
			source: function( request, response ) {
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
				var matcher = new RegExp( $.ui.autocomplete.escapeRegex( request.term ), "i" );
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
				response( $.grep( names, function( value ) {
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
					value = value.label || value.value || value;
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
					return matcher.test( value ) || matcher.test( normalize( value ) );
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
				}) );
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
			}
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
		});
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
	});
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
	</script>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
</head>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
<body>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
<div class="demo">
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
<div class="ui-widget">
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
	<form>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
	<label for="developer">Developer: </label>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
	<input id="developer" />
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
	</form>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
</div>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
</div><!-- End demo -->
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
<div class="demo-description">
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
<p>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
The autocomplete field uses a custom source option which will match results that have accented characters even when the text field doesn't contain accented characters. However if the you type in accented characters in the text field it is smart enough not to show results that aren't accented.
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
</p>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
<p>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
Try typing "Jo" to see "John" and "Jörn", then type "Jö" to see only "Jörn".
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
</p>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
</div><!-- End demo-description -->
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
</body>
6014b4b0ad53 update player - jq-css
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
</html>