forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			273 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			273 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
 | 
						|
<title>jQuery Autocomplete Plugin</title>
 | 
						|
<script type="text/javascript" src="../lib/jquery.js"></script>
 | 
						|
<script type='text/javascript' src='../lib/jquery.bgiframe.min.js'></script>
 | 
						|
<script type='text/javascript' src='../lib/jquery.ajaxQueue.js'></script>
 | 
						|
<script type='text/javascript' src='../lib/thickbox-compressed.js'></script>
 | 
						|
<script type='text/javascript' src='../jquery.autocomplete.js'></script>
 | 
						|
<script type='text/javascript' src='localdata.js'></script>
 | 
						|
<link rel="stylesheet" type="text/css" href="main.css" />
 | 
						|
<link rel="stylesheet" type="text/css" href="../jquery.autocomplete.css" />
 | 
						|
<link rel="stylesheet" type="text/css" href="../lib/thickbox.css" />
 | 
						|
	
 | 
						|
<script type="text/javascript">
 | 
						|
$().ready(function() {
 | 
						|
 | 
						|
	function findValueCallback(event, data, formatted) {
 | 
						|
		$("<li>").html( !data ? "No match!" : "Selected: " + formatted).appendTo("#result");
 | 
						|
	}
 | 
						|
	
 | 
						|
	function formatItem(row) {
 | 
						|
		return row[0] + " (<strong>id: " + row[1] + "</strong>)";
 | 
						|
	}
 | 
						|
	function formatResult(row) {
 | 
						|
		return row[0].replace(/(<.+?>)/gi, '');
 | 
						|
	}
 | 
						|
	
 | 
						|
	$("#suggest1").autocomplete(cities);
 | 
						|
	$("#month").autocomplete(months, {
 | 
						|
		minChars: 0,
 | 
						|
		max: 12,
 | 
						|
		autoFill: true,
 | 
						|
		mustMatch: true,
 | 
						|
		matchContains: false,
 | 
						|
		scrollHeight: 220,
 | 
						|
		formatItem: function(data, i, total) {
 | 
						|
			// don't show the current month in the list of values (for whatever reason)
 | 
						|
			if ( data[0] == months[new Date().getMonth()] ) 
 | 
						|
				return false;
 | 
						|
			return data[0];
 | 
						|
		}
 | 
						|
	});
 | 
						|
	$("#suggest13").autocomplete(emails, {
 | 
						|
		minChars: 0,
 | 
						|
		width: 310,
 | 
						|
		matchContains: true,
 | 
						|
		autoFill: false,
 | 
						|
		formatItem: function(row, i, max) {
 | 
						|
			return i + "/" + max + ": \"" + row.name + "\" [" + row.to + "]";
 | 
						|
		},
 | 
						|
		formatMatch: function(row, i, max) {
 | 
						|
			return row.name + " " + row.to;
 | 
						|
		},
 | 
						|
		formatResult: function(row) {
 | 
						|
			return row.to;
 | 
						|
		}
 | 
						|
	});
 | 
						|
	$("#singleBirdRemote").autocomplete("search.php", {
 | 
						|
		width: 260,
 | 
						|
		selectFirst: false
 | 
						|
	});
 | 
						|
	$("#suggest14").autocomplete(cities, {
 | 
						|
		matchContains: true,
 | 
						|
		minChars: 0
 | 
						|
	});
 | 
						|
	$("#suggest3").autocomplete(cities, {
 | 
						|
		multiple: true,
 | 
						|
		mustMatch: true,
 | 
						|
		autoFill: true
 | 
						|
	});
 | 
						|
	$("#suggest4").autocomplete('search.php', {
 | 
						|
		width: 300,
 | 
						|
		multiple: true,
 | 
						|
		matchContains: true,
 | 
						|
		formatItem: formatItem,
 | 
						|
		formatResult: formatResult
 | 
						|
	});
 | 
						|
	$("#imageSearch").autocomplete("images.php", {
 | 
						|
		width: 320,
 | 
						|
		max: 4,
 | 
						|
		highlight: false,
 | 
						|
		scroll: true,
 | 
						|
		scrollHeight: 300,
 | 
						|
		formatItem: function(data, i, n, value) {
 | 
						|
			return "<img src='images/" + value + "'/> " + value.split(".")[0];
 | 
						|
		},
 | 
						|
		formatResult: function(data, value) {
 | 
						|
			return value.split(".")[0];
 | 
						|
		}
 | 
						|
	});
 | 
						|
	$("#tags").autocomplete(["c++", "java", "php", "coldfusion", "javascript", "asp"], {
 | 
						|
		width: 320,
 | 
						|
		max: 4,
 | 
						|
		highlight: false,
 | 
						|
		multiple: true,
 | 
						|
		multipleSeparator: " ",
 | 
						|
		scroll: true,
 | 
						|
		scrollHeight: 300
 | 
						|
	});
 | 
						|
	
 | 
						|
	
 | 
						|
	$(":text, textarea").result(findValueCallback).next().click(function() {
 | 
						|
		$(this).prev().search();
 | 
						|
	});
 | 
						|
	$("#singleBirdRemote").result(function(event, data, formatted) {
 | 
						|
		if (data)
 | 
						|
			$(this).parent().next().find("input").val(data[1]);
 | 
						|
	});
 | 
						|
	$("#suggest4").result(function(event, data, formatted) {
 | 
						|
		var hidden = $(this).parent().next().find(">:input");
 | 
						|
		hidden.val( (hidden.val() ? hidden.val() + ";" : hidden.val()) + data[1]);
 | 
						|
	});
 | 
						|
    $("#suggest15").autocomplete(cities, { scroll: true } );
 | 
						|
	$("#scrollChange").click(changeScrollHeight);
 | 
						|
	
 | 
						|
	$("#thickboxEmail").autocomplete(emails, {
 | 
						|
		minChars: 0,
 | 
						|
		width: 310,
 | 
						|
		matchContains: true,
 | 
						|
		highlightItem: false,
 | 
						|
		formatItem: function(row, i, max, term) {
 | 
						|
			return row.name.replace(new RegExp("(" + term + ")", "gi"), "<strong>$1</strong>") + "<br><span style='font-size: 80%;'>Email: <" + row.to + "></span>";
 | 
						|
		},
 | 
						|
		formatResult: function(row) {
 | 
						|
			return row.to;
 | 
						|
		}
 | 
						|
	});
 | 
						|
	
 | 
						|
	$("#clear").click(function() {
 | 
						|
		$(":input").unautocomplete();
 | 
						|
	});
 | 
						|
});
 | 
						|
 | 
						|
function changeOptions(){
 | 
						|
	var max = parseInt(window.prompt('Please type number of items to display:', jQuery.Autocompleter.defaults.max));
 | 
						|
	if (max > 0) {
 | 
						|
		$("#suggest1").setOptions({
 | 
						|
			max: max
 | 
						|
		});
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function changeScrollHeight() {
 | 
						|
    var h = parseInt(window.prompt('Please type new scroll height (number in pixels):', jQuery.Autocompleter.defaults.scrollHeight));
 | 
						|
    if(h > 0) {
 | 
						|
        $("#suggest1").setOptions({
 | 
						|
			scrollHeight: h
 | 
						|
		});
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
function changeToMonths(){
 | 
						|
	$("#suggest1")
 | 
						|
		// clear existing data
 | 
						|
		.val("")
 | 
						|
		// change the local data to months
 | 
						|
		.setOptions({data: months})
 | 
						|
		// get the label tag
 | 
						|
		.prev()
 | 
						|
		// update the label tag
 | 
						|
		.text("Month (local):");
 | 
						|
}
 | 
						|
</script>
 | 
						|
	
 | 
						|
</head>
 | 
						|
 | 
						|
<body>
 | 
						|
 | 
						|
<h1 id="banner"><a href="http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/">jQuery Autocomplete Plugin</a> Demo</h1>
 | 
						|
 | 
						|
<div id="content">
 | 
						|
	
 | 
						|
	<form autocomplete="off">
 | 
						|
		<p>
 | 
						|
			<label>Single City (local):</label>
 | 
						|
			<input type="text" id="suggest1" />
 | 
						|
			<input type="button" value="Get Value" />
 | 
						|
			<input type="button" value="Change Max Items" onclick="changeOptions();" />
 | 
						|
			<input type="button" value="Change to Month Data" onclick="changeToMonths();" />
 | 
						|
			<input type="button" value="Change scroll height" id="scrollChange" />
 | 
						|
		</p>
 | 
						|
		<p>
 | 
						|
			<label>Month (local):</label>
 | 
						|
			<input type="text" id="month" />
 | 
						|
			<input type="button" value="Get Value" />
 | 
						|
			(Current month is excluded from list)
 | 
						|
		</p>
 | 
						|
		<p>
 | 
						|
			<label>E-Mail (local):</label>
 | 
						|
			<input type="text" id="suggest13" />
 | 
						|
			<input type="button" value="Get Value" />
 | 
						|
		</p>
 | 
						|
		<p>
 | 
						|
			<label>Single Bird (remote):</label>
 | 
						|
			<input type="text" id="singleBirdRemote" />
 | 
						|
			<input type="button" value="Get Value" />
 | 
						|
		</p>
 | 
						|
		<p>
 | 
						|
			<label>Hidden input</label>
 | 
						|
			<input />
 | 
						|
		</p>
 | 
						|
		<p>
 | 
						|
			<label>Single City (contains):</label>
 | 
						|
			<input type="text" id="suggest14" />
 | 
						|
			<input type="button" value="Get Value" />
 | 
						|
		</p>
 | 
						|
		<p>
 | 
						|
			<label>Multiple Cities (local):</label>
 | 
						|
			<textarea id='suggest3' cols='40' rows='3'></textarea>
 | 
						|
			<input type="button" value="Get Value" />
 | 
						|
		</p>
 | 
						|
		<p>
 | 
						|
			<label>Multiple Birds (remote):</label>
 | 
						|
			<textarea id='suggest4'></textarea>
 | 
						|
			<input type="button" value="Get Value" />
 | 
						|
		</p>
 | 
						|
		<p>
 | 
						|
			<label>Hidden input</label>
 | 
						|
			<textarea></textarea>
 | 
						|
		</p>
 | 
						|
    <p>
 | 
						|
			<label>Image search (remote):</label>
 | 
						|
			<input type="text" id='imageSearch' />
 | 
						|
			<input type="button" value="Get Value" />
 | 
						|
		</p>
 | 
						|
    <p>
 | 
						|
			<label>Tags (local):</label>
 | 
						|
			<input type="text" id='tags' />
 | 
						|
			<input type="button" value="Get Value" />
 | 
						|
		</p>
 | 
						|
		<p>
 | 
						|
			<label>Some dropdown (<3 IE):</label>
 | 
						|
			<select>
 | 
						|
				<option value="">Item 12334455</option>
 | 
						|
				<option value="2">Item 2</option>
 | 
						|
				<option value="3">Item 3</option>
 | 
						|
				<option value="4">Item 4</option>
 | 
						|
			</select>
 | 
						|
		</p>
 | 
						|
		
 | 
						|
		<input type="submit" value="Submit" />
 | 
						|
	</form>
 | 
						|
	
 | 
						|
	<p>
 | 
						|
		<a href="#TB_inline?height=155&width=400&inlineId=modalWindow" class="thickbox">Click here for an autocomplete inside a thickbox window.</a> (this should work even if it is beyond the fold)
 | 
						|
	</p>		
 | 
						|
	
 | 
						|
	<div id="modalWindow" style="display: none;">
 | 
						|
                <p>
 | 
						|
                        <label>E-Mail (local):</label>
 | 
						|
                        <input type="text" id="thickboxEmail" />
 | 
						|
                        <input type="button" value="Get Value" />
 | 
						|
                </p>
 | 
						|
		</div>
 | 
						|
		
 | 
						|
	<button id="clear">Remove all autocompletes</button>
 | 
						|
	
 | 
						|
	<a href="search.phps">PHP script used to for remote autocomplete</a>
 | 
						|
	
 | 
						|
	<h3>Result:</h3> <ol id="result"></ol>
 | 
						|
 | 
						|
</div>
 | 
						|
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
 | 
						|
</script>
 | 
						|
<script type="text/javascript">
 | 
						|
_uacct = "UA-2623402-1";
 | 
						|
urchinTracker();
 | 
						|
</script>
 | 
						|
</body>
 | 
						|
</html>
 |