2015-12-22 2 views
0

Я использую jquery ui. В настоящее время я использую виджет автозаполнения. В основном у меня есть кнопка и вы хотите узнать, ввел ли пользователь что-либо в этом поле автозаполнения. Если нет, тогда строка, равную null, получит тест и назначит его переменной var.Проверка наличия автозаполнения

Это код:

$(function() { 
var availableTags = [ 
    "The Alps", 
    "Europe", 
    "Africa", 
    "The Caribbean", 
    "Indian Ocean", 
    "North and Central America", 
    "South America", 
    "Asia" 
]; 
$("#destination").autocomplete({ 
    source: availableTags 
}); 
}); 

$('#destination').on('autocompleteselect', function (e, ui) { 
var ii = ui.item.value; 
alert(ii); 
    if(ii == "" || ii == null || ii == undefined){ 

    }else{ 
    destination(ii); 
    } 
    }); 

function destination(nameOfResort){ 
     destination = nameOfResort; 
     alert("name " + destination); 
    } 

Как вы можете видеть в, если заявление, если окно автозавершения пусто, то он не должен ничего делать, но когда предупреждение называется, он отображает следующее всплывающее окно:

name function destination(nameOfResort){ 
      destination = nameOfResort; 
     } 
+0

Не должно быть ui.val(). Также рассмотрите тестирование для undefined/null сначала, а затем destination.trim(). Length == 0 и избегайте пустых блоков. –

ответ

0

Вы не указали, что точный вопрос, но если ваш код не работает, то попробуйте поставить autocompleteselect внутри $(function()

$(function() { 
     var availableTags = [ 
      "The Alps", 
      "Europe", 
      "Africa", 
      "The Caribbean", 
      "Indian Ocean", 
      "North and Central America", 
      "South America", 
      "Asia" 
     ]; 
     $("#destination").autocomplete({ 
      source: availableTags 

     }); 
     $('#destination').on('autocompleteselect', function (e, ui) { 
      var ii = ui.item.value; 
      alert(ii); 
      if(ii == "" || ii == null || ii == undefined){ 

      }else{ 
       destination(ii); 
      } 
     }); 
    }); 
Смежные вопросы