UNPKG

jqwidgets-scripts-custom

Version:

jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.

105 lines (85 loc) 3.96 kB
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>ListBox Custom Element Overview</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" /> <meta name="description" content=" " /> <link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" /> <link rel="stylesheet" href="../../../styles/demos.css" type="text/css" /> <script type="text/javascript" src="../../../scripts/webcomponents-lite.min.js"></script> <script type="text/javascript" src="../../../scripts/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.elements.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdata.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxscrollbar.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxlistbox.js"></script> <script type="text/javascript" src="../../../scripts/demos.js"></script> <script> var source = { datatype: "jsonp", datafields: [ { name: 'countryName' }, { name: 'name' }, { name: 'population', type: 'float' }, { name: 'continentCode' }, { name: 'adminName1' } ], url: "http://api.geonames.org/searchJSON", data: { featureClass: "P", style: "full", maxRows: 50, username: "jqwidgets" } }; //gives error for the searchField var dataAdapter = new jqx.dataAdapter(source, { formatData: (data) => { data.name_startsWith = document.querySelector('#searchField').val(); return data; } }); JQXElements.settings['ListBoxSettings'] = { source: dataAdapter, selectedIndex: 0, displayMember: "name", valueMember: "countryName", renderer: (index, label, value) => { var item = dataAdapter.records[index]; if (item != null) { var label = item.name + "(" + item.countryName + ", " + item.adminName1 + ")"; return label; } return ""; } }; window.onload = function() { var mySearchField = document.querySelector('#searchField'); var me = this; mySearchField.addEventListener('keyup', function(event) { if (me.timer) clearTimeout(me.timer); me.timer = setTimeout( () =>{ dataAdapter.dataBind(); }, 300); }); } </script> </head> <body> <div class="example-description"> This demo illustrates the basic functionality of the List Box custom element. </div> <div id='jqxWidget' style="font-size: 13px; font-family: Verdana; float: left;"> <div> <span style='float: left; margin-top: 5px; margin-right: 4px;'>Search for a City: </span> <input class='jqx-input' placeholder="Type a City name here" id='searchField' type="text" style="height: 23px; float: left; width: 197px;" /> </div> <div style="clear: both;"></div> <jqx-list-box settings="ListBoxSettings" style="margin-top: 10px;"></jqx-list-box> </div> </body> </html>