client/player/development-bundle/demos/autocomplete/remote-with-cache.html
author hurons
Wed, 09 Jun 2010 16:48:35 +0200
changeset 1 436d4791d7ac
permissions -rw-r--r--
premier version du player test de commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     1
<!DOCTYPE html>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     2
<html lang="en">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     3
<head>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     4
	<meta charset="UTF-8" />
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     5
	<title>jQuery UI Autocomplete Remote with caching demo</title>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     6
	<link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     7
	<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     8
	<script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
     9
	<script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    10
	<script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    11
	<script type="text/javascript" src="../../ui/jquery.ui.autocomplete.js"></script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    12
	<link type="text/css" href="../demos.css" rel="stylesheet" />
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    13
	<script type="text/javascript">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    14
	$(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    15
		function log(message) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    16
			$("<div/>").text(message).prependTo("#log");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    17
			$("#log").attr("scrollTop", 0);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    18
		}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    19
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    20
		var cache = {};
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    21
		$("#birds").autocomplete({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    22
			source: function(request, response) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    23
				if (cache.term == request.term && cache.content) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    24
					response(cache.content);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    25
					return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    26
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    27
				if (new RegExp(cache.term).test(request.term) && cache.content && cache.content.length < 13) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    28
					response($.ui.autocomplete.filter(cache.content, request.term));
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    29
					return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    30
				}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    31
				$.ajax({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    32
					url: "search.php",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    33
					dataType: "json",
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    34
					data: request,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    35
					success: function(data) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    36
						cache.term = request.term;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    37
						cache.content = data;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    38
						response(data);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    39
					}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    40
				});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    41
			},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    42
			minLength: 2,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    43
			select: function(event, ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    44
				log(ui.item ? ("Selected: " + ui.item.value + " aka " + ui.item.id) : "Nothing selected, input was " + this.value);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    45
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    46
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    47
	});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    48
	</script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    49
</head>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    50
<body>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    51
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    52
<div class="demo">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    53
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    54
<div class="ui-widget">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    55
	<label for="birds">Birds: </label>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    56
	<input id="birds" />
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    57
</div>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    58
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    59
<div class="ui-widget" style="margin-top:2em; font-family:Arial">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    60
	Result:
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    61
	<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    62
</div>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    63
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    64
</div><!-- End demo -->
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    65
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    66
<div class="demo-description">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    67
<p>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    68
The Autocomplete widgets provides suggestions while you type into the field. Here the suggestions are bird names, displayed when at least two characters are entered into the field.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    69
</p>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    70
<p>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    71
Similar to the remote datasource demo, though this adds some local caching to improve performance. The cache here saves just one query, and could be extended to cache multiple values, one for each term.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    72
</p>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    73
</div><!-- End demo-description -->
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    74
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    75
</body>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    76
</html>