client/player/development-bundle/demos/autocomplete/combobox.html
author ymh <ymh.work@gmail.com>
Tue, 15 Jun 2010 01:33:03 +0200
changeset 48 44d58d2e90b5
parent 1 436d4791d7ac
permissions -rw-r--r--
Added tag V00.08 for changeset 8dbd741e3da6
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 Combobox 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.button.js"></script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    11
	<script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    12
	<script type="text/javascript" src="../../ui/jquery.ui.autocomplete.js"></script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    13
	<link type="text/css" href="../demos.css" rel="stylesheet" />
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    14
	<style type="text/css">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    15
		/* TODO shouldn't be necessary */
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    16
		.ui-button { margin-left: -1px; }
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    17
		.ui-button-icon-only .ui-button-text { padding: 0.35em; } 
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    18
		.ui-autocomplete-input { margin: 0; padding: 0.48em 0 0.47em 0.45em; }
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    19
	</style>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    20
	<script type="text/javascript">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    21
	(function($) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    22
		$.widget("ui.combobox", {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    23
			_create: function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    24
				var self = this;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    25
				var select = this.element.hide();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    26
				var input = $("<input>")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    27
					.insertAfter(select)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    28
					.autocomplete({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    29
						source: function(request, response) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    30
							var matcher = new RegExp(request.term, "i");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    31
							response(select.children("option").map(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    32
								var text = $(this).text();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    33
								if (this.value && (!request.term || matcher.test(text)))
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    34
									return {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    35
										id: this.value,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    36
										label: text.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"),
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    37
										value: text
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    38
									};
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
						delay: 0,
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    42
						change: function(event, ui) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    43
							if (!ui.item) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    44
								// remove invalid value, as it didn't match anything
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    45
								$(this).val("");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    46
								return false;
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
							select.val(ui.item.id);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    49
							self._trigger("selected", event, {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    50
								item: select.find("[value='" + ui.item.id + "']")
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
							
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
						minLength: 0
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    55
					})
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    56
					.addClass("ui-widget ui-widget-content ui-corner-left");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    57
				$("<button>&nbsp;</button>")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    58
				.attr("tabIndex", -1)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    59
				.attr("title", "Show All Items")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    60
				.insertAfter(input)
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    61
				.button({
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    62
					icons: {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    63
						primary: "ui-icon-triangle-1-s"
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    64
					},
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    65
					text: false
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    66
				}).removeClass("ui-corner-all")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    67
				.addClass("ui-corner-right ui-button-icon")
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    68
				.click(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    69
					// close if already visible
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    70
					if (input.autocomplete("widget").is(":visible")) {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    71
						input.autocomplete("close");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    72
						return;
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    73
					}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    74
					// pass empty string as value to search for, displaying all results
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    75
					input.autocomplete("search", "");
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    76
					input.focus();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    77
				});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    78
			}
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    79
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    80
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    81
	})(jQuery);
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    82
		
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    83
	$(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    84
		$("#combobox").combobox();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    85
		$("#toggle").click(function() {
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    86
			$("#combobox").toggle();
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    87
		});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    88
	});
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    89
	</script>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    90
</head>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    91
<body>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    92
	
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    93
<div class="demo">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    94
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    95
<div class="ui-widget">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    96
	<label>Your preferred programming language: </label>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    97
	<select id="combobox">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    98
		<option value="">Select one...</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
    99
		<option value="a">asp</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   100
        <option value="c">c</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   101
        <option value="cpp">c++</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   102
        <option value="cf">coldfusion</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   103
        <option value="g">groovy</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   104
        <option value="h">haskell</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   105
        <option value="j">java</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   106
        <option value="js">javascript</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   107
        <option value="p1">perl</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   108
        <option value="p2">php</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   109
        <option value="p3">python</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   110
        <option value="r">ruby</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   111
        <option value="s">scala</option>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   112
	</select>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   113
</div>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   114
<button id="toggle">Show underlying select</button>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   115
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   116
</div><!-- End demo -->
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   117
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   118
<div class="demo-description">
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   119
<p>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   120
A custom widget built by composition of Autocomplete and Button. You can either type something into the field to get filtered suggestions based on your input, or use the button to get the full list of selections.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   121
</p>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   122
<p>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   123
The input is read from an existing select-element for progressive enhancement, passed to Autocomplete with a customized source-option.
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   124
</p>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   125
</div><!-- End demo-description -->
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   126
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   127
</body>
436d4791d7ac premier version du player test de commit
hurons
parents:
diff changeset
   128
</html>