Bawo ti atumọwọle
- suka gudan form da yadda za a gudan samar da
- suka gudan kawar da samar da auto complete
Kọwọ ti kọwọ ti atumọwọle.
Atumọwọle
Tiiwa bẹran kọ:
Dunsi form awọn ipa-apa-apa atumọwọle
Babati - Tiwa HTML
<!-- Tiiwa fi yonasan form yonasan awọn ipa-apa-apa: --> <form autocomplete="off" action="/action_page.php"> <div class="autocomplete" style="width:300px;"> <input id="myInput" type="text" name="myCountry" placeholder="Country"> </div> <input type="submit"> </form>
Babati - Fisẹ JavaScript array
kukurtagan dake haukawarannan kawọn orilẹ-ede àti agbegbe ti ilẹ-ayé
var countries = ["Afghanistan","Albania","Algeria","Andorra","Angola","Anguilla","Antigua & Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia & Herzegovina","Botswana","Brazil","British Virgin Islands","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Central African Republic","Chad","Chile","China","Colombia","Congo","Cook Islands","Kosta Rika, Koté D Ivoire, Kóritá, Kúbá, Kuráko, Kíprís, Tsek Kibaradí, Dání, Djiboutí, Dómínika, Repúbliká Dómínika, Ekwádór, Misir, El Salvador, Gvineá Dáńá, Eritrea, Eswitíni, Fálkland Islands, Faroe Islands, Fíji, Fínlándí, Fránsa, Fransé Polinésia, Fransé West Indies, Gábon, Gámbia, Jóرجí, Jérmany, Gána, Gibrálta, Jórkí, Grenáda, Guam, Gwatemala, Gérnési, Gwinea, Gwinea Bissau, Gwána, Ayiti, Hondurás, Hong Kong, Ungari, Ísland, ÍndíIndonesia, Iran, Iraq, Ireland, Isle of Man, Israel, Italy, Jamaica, Japan, Jersey, Jordan, Kazakhstan, Kenya, Kiribati, Kosovo, Kuwait, Kyrgyzstan, Laos, Latvia, Lebanon, Lesotho, Liberia, Libya, Liechtenstein, Lithuania, Luxembourg, Macau, Macedonia, Madagascar, Malawi, Malaysia, Maldives, Mali, Malta, Marshall Islands, Mauritania, Mauritius, Mexico, Micronesia, Moldova, Monaco, Mongolia, Montenegro,Montserrat, Morocco, Mozambique, Myanmar, Namibia, Nauro"Nepal","Netherlands","Netherlands Antilles","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","North Korea","Norway","Oman","Pakistan","Palau","Palestine","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russia","Rwanda","Saint Pierre & Miquelon","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Korea","South Sudan",""Spain, Siri Lanka, St Kitts & Nevis, St Lucia, St Vincent, Sudan, Suriname, Swaziland, Sweden, Switzerland, Syria, Taiwan, Tajikistan, Tanzania, Thailand, Timor L'Este, Togo, Tonga, Trinidad & Tobago, Tunisia, Turkey, Turkmenistan, Turks & Caicos, Tuvalu, Uganda, Ukraine, United Arab Emirates, United Kingdom, United States of America, Uruguay, Uzbekistan, Vanuatu, Vatican City, Venezuela, Vietnam, Virgin Islands (US), Yemen, Zambia, Zimbabwe;
Babu 3 - ci gaba da yin CSS:
kuduwar ƙaɗa wajib ce ta karo da 'relativ'.
* { box-sizing: border-box; } body { font: 16px Arial; } .autocomplete { /* kuduwar ƙaɗa wajib ce ta karo da 'relativ' kuduwar ƙaɗa: */ position: relative; display: inline-block; } input { border: 1px solid transparent; background-color: #f1f1f1; padding: 10px; font-size: 16px; } input[type=text] { background-color: #f1f1f1; width: 100%; } input[type=submit] { background-color: DodgerBlue; color: #fff; } .autocomplete-items { position: absolute; border: 1px solid #d4d4d4; border-bottom: none; border-top: none; z-index: 99; /* zaɗin girmama ce ta karo da kuduwar ƙaɗa: */ top: 100%; left: 0; right: 0; } .autocomplete-items div { padding: 10px; cursor: pointer; background-color: #fff; border-bottom: 1px solid #d4d4d4; } .autocomplete-items div:hover { /* Tafiyar wanda zai gudanar da kowane wanda ke cikin kujerar kuma ke cikin kujerar zai kawar da: */ background-color: #e9e9e9; } .autocomplete-active { /* Tafiyar wanda zai gudanar da kowane wanda ke cikin kujerar kuma ke cikin kujerar zai kawar da: */ background-color: DodgerBlue !important; color: #ffffff; }
Tafiyar na karo na 4 - Tafiyar da JavaScript:
function autocomplete(inp, arr) { /* Tafiyar zai kawar da abin da ke cikin halittu da abin da zai iya tafiyar da su: */ var currentFocus; /* Tafiyar wanda zai gudanar da kowane wanda ke shirin cikin halittu: */ inp.addEventListener("input", function(e) { var a, b, i, val = this.value; /* Mayar da kowane abin da ya cikin kujerar tafiyar zai cikin gaba: */ closeAllLists(); if (!val) { return false;} currentFocus = -1; /* Tafiyar cikin DIV wanda zai kamar abin da ke cikin kalmomi (zane-gaban): */ a = document.createElement("DIV"); a.setAttribute("id", this.id + "autocomplete-list"); a.setAttribute("class", "autocomplete-items"); /* Tafiyar cikin wannan DIV sabon abin kujerar:*/ this.parentNode.appendChild(a); /* Ci gaba da kowane abin da ke kujerar rayuwa... */ for (i = 0; i < arr.length; i++) { /* Tafiqan kifina bai bai bai kuma gaba da zane-gaban da zane-gaban na kalmomi a kan halittu: */ hanyan (arr[i].substr(0, val.length).toUpperCase() == val.toUpperCase()) { /* 为每个匹配元素创建一个 DIV 元素: */ b = document.createElement("DIV"); /* 将匹配的字母加粗: */ b.innerHTML = "" + arr[i].substr(0, val.length) + ""; b.innerHTML += arr[i].substr(val.length); /* 插入一个输入字段来保存当前数组项的值: */ b.innerHTML += ""; /* 当有人单击项目值(DIV 元素)时执行的函数: */ b.addEventListener("click", function(e) { /* 插入自动完成文本字段的值: */ inp.value = this.getElementsByTagName("input")[0].value; /*关闭自动完成值列表,或任何其他打开的自动完成值列表: */ closeAllLists(); }); a.appendChild(b); } } }); /* 当有人在键盘上按键时执行一个函数:*/ inp.addEventListener("keydown", function(e) { var x = document.getElementById(this.id + "autocomplete-list"); if (x) x = x.getElementsByTagName("div"); if (e.keyCode == 40) { /*如果按下箭头向下键,增加 currentFocus 变量:*/ currentFocus++; /* 并使当前项目更加明显:*/ addActive(x); } else if (e.keyCode == 38) { //up /* 如果按下向上箭头键,减少 currentFocus 变量:*/ currentFocus--; /* 并使当前项目更加明显:*/ addActive(x); } sa if (e.keyCode == 13) { /* Idan yana a kama an yi kai shifan ENTER, za kai tinga sumbiti fangxian: */ e.preventDefault(); if (currentFocus > -1) { /* 并模拟点击“活动”项目:*/ if (x) x[currentFocus].click(); } } }); function addActive(x) { /* 将项目分类为“活动”的函数:*/ if (!x) return false; /* 首先删除所有项目中的 "active" 类:*/ removeActive(x); if (currentFocus >= x.length) currentFocus = 0; if (currentFocus < 0) currentFocus = (x.length - 1); /* 添加 "autocomplete-active" 类:*/ x[currentFocus].classList.add("autocomplete-active"); } function removeActive(x) { /* 从所有自动完成项中删除 "active" 类的函数:*/ for (var i = 0; i < x.length; i++) { x[i].classList.remove("autocomplete-active"); } } function closeAllLists(elmnt) { /*关闭文档中的所有自动完成列表,除了作为参数传递的那个:*/ var x = document.getElementsByClassName("autocomplete-items"); for (var i = 0; i < x.length; i++) { if (elmnt != x[i] && elmnt != inp) { x[i].parentNode.removeChild(x[i]); } } } /* 当有人单击文档时执行的函数*/ document.addEventListener("click", function (e) { closeAllLists(e.target); }); }
第五步 - 在 "myInput" 上启用自动完成功能:
将国家数组作为 autocomplete
函数的第二个参数传递:
<script> autocomplete(document.getElementById("myInput"), countries); </script>
- suka gudan form da yadda za a gudan samar da
- suka gudan kawar da samar da auto complete