mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
autocomplete: added xml-parsing demo
This commit is contained in:
parent
c3dd4ac373
commit
1382af8af0
@ -14,6 +14,7 @@
|
|||||||
<li><a href="remote-jsonp.html">Remote JSONP datasource</a></li>
|
<li><a href="remote-jsonp.html">Remote JSONP datasource</a></li>
|
||||||
<li><a href="combobox.html">Combobox</a></li>
|
<li><a href="combobox.html">Combobox</a></li>
|
||||||
<li><a href="custom-data.html">Custom data and display</a></li>
|
<li><a href="custom-data.html">Custom data and display</a></li>
|
||||||
|
<li><a href="xml.html">XML data parsed once</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
114
demos/autocomplete/london.xml
Normal file
114
demos/autocomplete/london.xml
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<geonames style="MEDIUM">
|
||||||
|
<totalResultsCount>6987</totalResultsCount>
|
||||||
|
<geoname>
|
||||||
|
<name>London</name>
|
||||||
|
<lat>51.5084152563931</lat>
|
||||||
|
<lng>-0.125532746315002</lng>
|
||||||
|
<geonameId>2643743</geonameId>
|
||||||
|
<countryCode>GB</countryCode>
|
||||||
|
<countryName>United Kingdom</countryName>
|
||||||
|
|
||||||
|
<fcl>P</fcl>
|
||||||
|
<fcode>PPLC</fcode>
|
||||||
|
</geoname>
|
||||||
|
<geoname>
|
||||||
|
<name>London</name>
|
||||||
|
<lat>42.983389283</lat>
|
||||||
|
<lng>-81.233042387</lng>
|
||||||
|
<geonameId>6058560</geonameId>
|
||||||
|
<countryCode>CA</countryCode>
|
||||||
|
<countryName>Canada</countryName>
|
||||||
|
|
||||||
|
<fcl>P</fcl>
|
||||||
|
<fcode>PPL</fcode>
|
||||||
|
</geoname>
|
||||||
|
<geoname>
|
||||||
|
<name>East London</name>
|
||||||
|
<lat>-33.0152850934643</lat>
|
||||||
|
<lng>27.9116249084473</lng>
|
||||||
|
<geonameId>1006984</geonameId>
|
||||||
|
<countryCode>ZA</countryCode>
|
||||||
|
<countryName>South Africa</countryName>
|
||||||
|
|
||||||
|
<fcl>P</fcl>
|
||||||
|
<fcode>PPL</fcode>
|
||||||
|
</geoname>
|
||||||
|
<geoname>
|
||||||
|
<name>City</name>
|
||||||
|
<lat>51.5133363996235</lat>
|
||||||
|
<lng>-0.0890064239501953</lng>
|
||||||
|
<geonameId>2643744</geonameId>
|
||||||
|
<countryCode>GB</countryCode>
|
||||||
|
<countryName>United Kingdom</countryName>
|
||||||
|
|
||||||
|
<fcl>A</fcl>
|
||||||
|
<fcode>ADM2</fcode>
|
||||||
|
</geoname>
|
||||||
|
<geoname>
|
||||||
|
<name>London</name>
|
||||||
|
<lat>37.1289771</lat>
|
||||||
|
<lng>-84.0832646</lng>
|
||||||
|
<geonameId>4298960</geonameId>
|
||||||
|
<countryCode>US</countryCode>
|
||||||
|
<countryName>United States</countryName>
|
||||||
|
|
||||||
|
<fcl>P</fcl>
|
||||||
|
<fcode>PPL</fcode>
|
||||||
|
</geoname>
|
||||||
|
<geoname>
|
||||||
|
<name>The Tower of London</name>
|
||||||
|
<lat>51.5082349601834</lat>
|
||||||
|
<lng>-0.0763034820556641</lng>
|
||||||
|
<geonameId>6286786</geonameId>
|
||||||
|
<countryCode>GB</countryCode>
|
||||||
|
<countryName>United Kingdom</countryName>
|
||||||
|
|
||||||
|
<fcl>S</fcl>
|
||||||
|
<fcode>CSTL</fcode>
|
||||||
|
</geoname>
|
||||||
|
<geoname>
|
||||||
|
<name>London Reefs</name>
|
||||||
|
<lat>8.85</lat>
|
||||||
|
<lng>112.5333333</lng>
|
||||||
|
<geonameId>1879967</geonameId>
|
||||||
|
<countryCode> </countryCode>
|
||||||
|
<countryName> </countryName>
|
||||||
|
|
||||||
|
<fcl>U</fcl>
|
||||||
|
<fcode>RFSU</fcode>
|
||||||
|
</geoname>
|
||||||
|
<geoname>
|
||||||
|
<name>Greater London</name>
|
||||||
|
<lat>51.5</lat>
|
||||||
|
<lng>-0.1666667</lng>
|
||||||
|
<geonameId>2648110</geonameId>
|
||||||
|
<countryCode>GB</countryCode>
|
||||||
|
<countryName>United Kingdom</countryName>
|
||||||
|
|
||||||
|
<fcl>A</fcl>
|
||||||
|
<fcode>ADM2</fcode>
|
||||||
|
</geoname>
|
||||||
|
<geoname>
|
||||||
|
<name>London</name>
|
||||||
|
<lat>46.1666667</lat>
|
||||||
|
<lng>6.0166667</lng>
|
||||||
|
<geonameId>2661811</geonameId>
|
||||||
|
<countryCode>CH</countryCode>
|
||||||
|
<countryName>Switzerland</countryName>
|
||||||
|
|
||||||
|
<fcl>H</fcl>
|
||||||
|
<fcode>STM</fcode>
|
||||||
|
</geoname>
|
||||||
|
<geoname>
|
||||||
|
<name>London Borough of Islington</name>
|
||||||
|
<lat>51.5333333</lat>
|
||||||
|
<lng>-0.1333333</lng>
|
||||||
|
<geonameId>3333156</geonameId>
|
||||||
|
<countryCode>GB</countryCode>
|
||||||
|
<countryName>United Kingdom</countryName>
|
||||||
|
|
||||||
|
<fcl>A</fcl>
|
||||||
|
<fcode>ADM2</fcode>
|
||||||
|
</geoname>
|
||||||
|
</geonames>
|
68
demos/autocomplete/xml.html
Normal file
68
demos/autocomplete/xml.html
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>jQuery UI Autocomplete Remote datasource demo</title>
|
||||||
|
<link type="text/css" href="../../themes/base/ui.all.css" rel="stylesheet" />
|
||||||
|
<script type="text/javascript" src="../../jquery-1.4.js"></script>
|
||||||
|
<script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
|
||||||
|
<script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
|
||||||
|
<script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
|
||||||
|
<script type="text/javascript" src="../../ui/jquery.ui.autocomplete.js"></script>
|
||||||
|
<link type="text/css" href="../demos.css" rel="stylesheet" />
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function() {
|
||||||
|
function log(message) {
|
||||||
|
$("<div/>").text(message).prependTo("#log");
|
||||||
|
$("#log").attr("scrollTop", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "london.xml",
|
||||||
|
dataType: "xml",
|
||||||
|
success: function(xmlResponse) {
|
||||||
|
var data = $("geoname", xmlResponse).map(function() {
|
||||||
|
return {
|
||||||
|
value: $("name", this).text() + ", " + ($.trim($("countryName", this).text()) || "(unknown country)"),
|
||||||
|
id: $("geonameId", this).text()
|
||||||
|
};
|
||||||
|
}).get();
|
||||||
|
$("#birds").autocomplete({
|
||||||
|
source: data,
|
||||||
|
minLength: 0,
|
||||||
|
select: function(event, ui) {
|
||||||
|
log(ui.item ? ("Selected: " + ui.item.value + ", geonameId: " + ui.item.id) : "Nothing selected, input was " + this.value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="demo">
|
||||||
|
|
||||||
|
<div class="ui-widget">
|
||||||
|
<label for="birds">London matches: </label>
|
||||||
|
<input id="birds" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="ui-widget" style="margin-top:2em; font-family:Arial">
|
||||||
|
Result:
|
||||||
|
<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- End demo -->
|
||||||
|
|
||||||
|
<div class="demo-description">
|
||||||
|
<p>
|
||||||
|
This demo shows how to retrieve some XML data, parse it using jQuery's methods, then provide it to the autocomplete as the datasource.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This should also serve as a reference on how to parse a remote XML datasource - the parsing would just happen for each request within the source-callback.
|
||||||
|
</p>
|
||||||
|
</div><!-- End demo-description -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user