


Explication détaillée de la balise datalist HTML5 et de la correspondance dynamique avec les données d'arrière-plan
La nouvelle liste de données de balises HTML5 entre automatiquement dans la requête floue de la base de données lors de la saisie de la première lettre du chinois/pinyin et renvoie les résultats correspondants pour générer une liste de données. Lorsque le contenu de la zone de saisie change, la liste de données déclenche automatiquement la suppression. -down Frame, la solution est très bonne. Permettez-moi de partager l'exemple de code avec vous à travers cet article. Les amis qui en ont besoin peuvent s'y référer
Un projet récent implique une petite fonction lorsque les clients choisissent les fournisseurs. au grand nombre de fournisseurs, il y en a beaucoup (environ 3 000), il est donc évidemment irréaliste de générer directement des listes déroulantes, j'ai donc changé de solution et prévu d'utiliser la nouvelle balise datalist en HTML5 pour saisir automatiquement la requête floue de la base de données lors de la saisie de la première lettre du chinois/pinyin et renvoie le correspondant. En conséquence, une liste de données est générée. Étant donné que la liste de données déclenchera automatiquement la liste déroulante lorsque le contenu de la saisie dans la zone de saisie change, elle est plus pratique à utiliser que. sélectionner. Le code front-end est le suivant :
Code HTML :
<!DOCTYPE html> <html lang="en"> <head id="head"> <title>库存下拉框测试</title> <meta charset="utf-8"> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content=""> <meta name="author" content=""> <script src="../../Common/content/jquery-1.7.2.min.js"type="text/javascript"></script> <script src="../../Common/pages/include.js" class="include" type="text/javascript"></script> <script src="../../Common/js/AjaxJson.js" type="text/javascript"></script> <script src="../../Common/js/Setting.js" type="text/javascript"></script> <script src="../../Common/js/Paging.js" type="text/javascript"></script> <script src="../../Js/warehouseManage/testyy.js" type="text/javascript"></script> </head> <body class=""> <!--<![endif]--> <p class="navbar"></p> <p class="sidebar-nav"></p> <p class="content"> <p class="header"><h1 id="ADU" class="page-title">下拉框测试</h1></p> <p class="container-fluid"> <p class="row-fluid"> <!-- --------------------------多条件查询--------------------------------------------- --> <p class="well" id="searchDemo"> <p>测试数据(默认均为d00001):<br> 昆山市大陆配件有限公司 ksdlpjyxgs <br> 亿真企业有限公司 yzqyyxgs <br> 泰州市安誊轴皮厂(集团厂) tzsatzpc(jtc) </p> </p> 按 供应商名动态匹配(中文或者拼音均可): <input list="bro" id="name" oninput="this.value=this.value.replace(/^ +| +$/g,'');search('name','bro','name')" > <datalist id="bro"></datalist> </p> </p> </p> </body> <!-- -----------------------footer-------------------------- --> <footer class="foot"></footer> </html>
Code JavaScript :
var listobj=null; //datalist对象 var requestItem=null; //后台返回的json数据中所需的key值 var inputContent=null; //input标签对象 /**search()说明: * inputID: input标签的ID * datalistID: datalist标签的ID * itemName: 后台返回的json数据中所需的key值(仅需表格中中文字段的属性名) * */ function search(inputID,datalistID,itemName) { inputContent=document.getElementById(inputID); var datalist=document.getElementById(datalistID); //防止在无输入内容的情况下产生遗留下拉选项 if(inputContent.value.length==0||inputContent.value==" ") { var sub=datalist.childNodes; if(sub.length>0) { for (var i =sub.length-1; i>=0 ; i--) { datalist.removeChild(sub[i]); } } listobj=null; requestItem=null; inputContent.value=null; return false; } //全局变量赋值 listobj=datalist; requestItem=itemName; var data=""; var url=""; if(/^[a-zA-Z]*$/.test(inputContent.value)) { //检测出是拼音首字母 data="type=searchWords¶m="+inputContent.value; //注意:data-----------需要自定义 url=baseurl + "/servlet/ListDemo"; //注意:url-----------需要自定义 sendRequest("post",url,data,getResult); } else if (/^[\u4e00-\u9fa5]*$/.test(inputContent.value)) { //检测出是中文 data="type=searchChinese¶m="+inputContent.value; //注意:data-----------需要自定义 url=baseurl + "/servlet/ListDemo"; //注意:url-----------需要自定义 sendRequest("post",url,data,getResult); } } //填写仓库下拉框 function getResult(result) { var data=result; var JData=eval("(" + data + ")"); var maxlength=10; //注释:maxlength保证过多查询结果下只显示10条 if(JData.length<=10) { maxlength=JData.length; } var sub=listobj.childNodes; for (var i =sub.length-1; i>=0 ; i--) { listobj.removeChild(sub[i]); //清空datalist所有的下拉选项 } if(JData.length==0) //没有查询结果 { alert("没有符合条件的结果,请重输"); inputContent.value=""; //清空input输入框的值 return false; } for (var i=0;i<maxlength;i++) { var obj=document.createElement("option"); var indexobj=JData[i]; if(/^[a-zA-Z]*$/.test(inputContent.value)) { obj.value=indexobj[requestItem]; obj.innerHTML=inputContent.value; } if (/^[\u4e00-\u9fa5]*$/.test(inputContent.value)) { obj.value=indexobj[requestItem]; } listobj.appendChild(obj); } var suffix=document.createElement("option"); suffix.value=" "; suffix.innerHTML="输入更多有关"+inputContent.value+"的信息"; listobj.appendChild(suffix); return false; }
[Recommandations associées]
1 . Tutoriel vidéo HTML gratuit
2 Partagez un résumé très complet des points de connaissances HTML et CSS
3. Apprenez à analyser le HTML sous nodejs
4Exemple détaillé de la façon d'implémenter l'indice de quantité sur le bouton de message en HTML
5. >Comment utiliser JSON en html Introduction aux méthodes d'affichage des donnéesCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide de la bordure de tableau en HTML. Nous discutons ici de plusieurs façons de définir une bordure de tableau avec des exemples de bordure de tableau en HTML.

Guide de la marge HTML gauche. Nous discutons ici d'un bref aperçu de la marge gauche HTML et de ses exemples ainsi que de son implémentation de code.

Ceci est un guide des tableaux imbriqués en HTML. Nous discutons ici de la façon de créer un tableau dans le tableau ainsi que des exemples respectifs.

Guide de mise en page des tableaux HTML. Nous discutons ici des valeurs de la mise en page des tableaux HTML ainsi que des exemples et des résultats en détail.

Guide de l'espace réservé de saisie HTML. Nous discutons ici des exemples d'espace réservé d'entrée HTML ainsi que des codes et des sorties.

Guide de la liste ordonnée HTML. Ici, nous discutons également de l'introduction de la liste et des types HTML ordonnés ainsi que de leur exemple respectivement.

Guide pour déplacer du texte en HTML. Nous discutons ici d'une introduction, du fonctionnement des balises de sélection avec la syntaxe et des exemples à implémenter.

Guide du bouton HTML onclick. Nous discutons ici de leur introduction, de leur fonctionnement, des exemples et de l'événement onclick dans divers événements respectivement.
