UNPKG

jqwidgets-scripts-custom

Version:

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

83 lines (64 loc) 3.02 kB
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>Custom Element Input BindingToJSONData</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="This is an example of Custom Element Input bound to JSON data." /> <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="../../../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/jqxinput.js"></script> <script type="text/javascript" src="../../../scripts/demos.js"></script> <script> var source = { datatype: 'json', datafields: [ { name: 'CompanyName' }, { name: 'ContactName' } ], url: '../../sampledata/customers.txt' }; var dataAdapter = new jqx.dataAdapter(source); JQXElements.settings['inputSettings'] = { source: dataAdapter, placeHolder: 'Contact Name:', displayMember: 'ContactName', valueMember: 'CompanyName' } window.onload = function() { var myInput = document.querySelector('jqx-input'); myInput.addEventListener('select', function(event) { if (event.args) { var item = event.args.item; if (item) { var valueElement = document.createElement('div'); valueElement.innerHTML = 'Value: ' + item.value; var labelElement = document.createElement('div'); labelElement.innerHTML = 'Label: ' + item.label; var myLog = document.querySelector('#selectionlog'); myLog.innerHTML = ''; myLog.appendChild(labelElement); myLog.appendChild(valueElement); setTimeout(_ => myInput.val(item.label)); } } }); } </script> </head> <body> <div class="example-description"> In this demo the Custom element Input is bound to JSON data. </div> <jqx-input settings="inputSettings"></jqx-input> <br /> <label style="font-family: Verdana; font-size: 10px;">ex: Ana</label> <div style="font-family: Verdana; font-size: 13px;" id='selectionlog'> </div> </body> </html>