2017-01-09 2 views
1

Поэтому у меня есть требование, когда мне нужно набрать что-то, а затем на полпути, оно должно автоматически заполнить остальную часть вещей.Как автозаполнять текстовое поле при нажатии клавиши

Пример

У меня есть текстовое поле, где я начинаю набирать «седловины», то после того, как я нажимаю пространство текстовое поле должно показать мне «столбец», авто для автоматической корректировки системы.

Кроме того, мне было интересно, может ли это быть реализовано как массив или столбец данных, поступающих из моей БД?

Я сделал что-то подобное, но это изменяет значения внутреннего поля HTML. Мне это нужно для текстового поля.

function handle(e) { 
 
    if (e.keyCode === 32) { 
 
     e.preventDefault(); 
 
     document.getElementById("p1").innerHTML = "Column"; 
 
    } 
 
}
<p id="p1">Hello World!</p> 
 
<form action="#"> 
 
    <input type="text" name="txt" onkeypress="handle(event)" /> 
 
</form>

Я новичок в этом, так что любая помощь будет высоко оценила

+0

получить данные из массива или БД и использовать JQuery автозаполнения. –

+0

Плагин уже существует для этого ..https: //github.com/atmb4u/AutoJS .. просто измените слова в массиве – Dhara

+0

, и если вам нужно сделать, то вот какой поток: на keyup получите текущее слово и в соответствии с этим найдите в вашем массиве contains() n получить список его – Dhara

ответ

2

Загрузите значения из базы данных в JSON и использовать e.target свойство, которое будет содержать HTML элемент, где произошло event.

Попробуйте следующий код:

// load your values from DB here 
 
var dictionary = { 
 
    'col': 'Column', 
 
    'ro': 'Row', 
 
    'tab': 'Table' 
 
}; 
 

 
function handle(e) { 
 
    if (e.keyCode === 32) { 
 
    e.preventDefault(); 
 

 
    for (val in dictionary) { 
 
     if (e.target.value == val) { 
 
     e.target.value = dictionary[val]; 
 
     continue; 
 
     } 
 
    } 
 
    } 
 
}
<p id="p1">Hello World!</p> 
 
<form action="#"> 
 
    <input type="text" name="txt" onkeypress="handle(event)" /> 
 
</form>

1

Try JQuery Авто предлагает: Посетите HERE

$(function() { 
 
    var availableTags = [ 
 
     "ActionScript", 
 
     "AppleScript", 
 
     "Asp", 
 
     "BASIC", 
 
     "C", 
 
     "C++", 
 
     "Clojure", 
 
     "COBOL", 
 
     "ColdFusion", 
 
     "Erlang", 
 
     "Fortran", 
 
     "Groovy", 
 
     "Haskell" 
 
    ]; 
 
    $("#tags").autocomplete({ 
 
     source: availableTags 
 
    }); 
 
    });
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 
<div class="ui-widget"> 
 
    <label for="tags">Tags: </label> 
 
    <input id="tags"> 
 
</div>

+0

Для запись он изменил свой вопрос, поэтому сначала мой ответ не был неправильным, но для этого «нового» вопроса это правильный ответ. –

+0

@ Jessedegans, возможно, я не видел начального вопроса. –

+0

Я знаю ха-ха, но просто чтобы у вас знали :) –

0

Вы должны исследовать автозаполнение. Какой язык вы используете для веб-разработки?

https://jqueryui.com/autocomplete/

+0

autocomplete показывает выбор, но я не хочу выберите, я просто хочу, чтобы вход был автоматически заменен словом по моему выбору, когда я ввожу что-то – Venky

+0

Какой язык вы используете для веб-разработки? Просто Html css статические файлы? Есть ли база данных MSSQL, MYSQL vs? – hsyn

+0

имеют MSSQL db – Venky

Смежные вопросы