Если я покидаю input, при этом в нем есть информация и снова на него нажимаю, данные в автозаполнении должны остаться.. у меня остаются, но правильно ли сделано?
Можно ли облегчить сие творение?
JS:
CODE (javascript):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $(document).ready(function(){
- var autocomplete = {
- top_search: function(){
- $(function() {
- $(".top-search-input").focus(function(){
- $(this).css( "width", "200px");
- $(".icon-search").hide();
- //Обновляем список при вводе нового значения
- $(".top-search-input").keyup(function() {
- var value = $(this).val();
- var length = $(this).val().length;
- if((length) > 3){
- if(value != ''){
- $.ajax({
- type: "POST",
- url: "/1.php",
- data: value,
- cache: false,
- success: function(html){
- $(".top-search-autocomplete").show();
- }
- });
- }
- }
- });
- //Обновляем список, если присутствует в input информация
- var value = $(this).val();
- var length = $(this).val().length;
- if((length) > 3){
- if(value != ''){
- $.ajax({
- type: "POST",
- url: "/1.php",
- data: value,
- cache: false,
- success: function(html){
- $(".top-search-autocomplete").show();
- }
- });
- }
- }
- //Скрываем форму autocomplete и меняем ширину input
- }).blur(function(){
- $(this).css( "width", "100px");
- $(".icon-search").show();
- $(".top-search-autocomplete").hide();
- });
- });
- }
- }
- autocomplete.top_search();
- });