jQuery / UI Автозаполнение, но позволяет набирать только существующие слова - PullRequest
4 голосов
/ 31 августа 2010

Надеюсь, я объясняю это правильно, у меня длинный заранее заданный список товаров (товаров в моей БД), и я бы хотел, чтобы пользователь мог набирать и автоматически заполнять товар, однако, если этот товар / слово НЕ список, я не хочу позволять вводить дополнительные символы. Таким образом, автозаполнение в идеале блокировало бы дополнительный ввод, если этот ввод не существует в списке.

Существует ли нечто подобное для текущего плагина jQuery UI / jQuery? Или есть моды? Я хочу использовать этот метод для ускорения выбора продукта, но не возвращать страницу «не найден», если кто-то печатает что-то еще.

Заранее спасибо:)

Ответы [ 2 ]

1 голос
/ 31 августа 2010

Этот плагин автозаполнения имеет функцию, которая позволяет вам проверить значение, чтобы убедиться, что оно находится в списке.

0 голосов
/ 18 декабря 2012

Привет была похожая проблема. Bud не привел к использованию раскрывающегося списка и / или поля со списком (которое не полностью поддерживается). Я решил использовать параметр события изменения для автозаполнения, например, так:

jQuery('#field').autocomplete ({
  ...
  source: listOfValues,   // assuming an array like this ['val1', 'val2', val3' ... ]
  change: function (event, ui) {
     // check if entered value exists
     var entered_valid_input = false;   // false until proven true
     jQuery.each(listOfValues, function(i,v) {
       if(jQuery('#field').val() == v) {
         entered_valid_input = true;
         return false;   // stop iterating
       }

     });
     if(!entered_valid_input) {
        // blank the field
        jQuery('#field').val("");
        return;    // exit callback. No further processing
     }

  },
  ...
  // further processing if the input is valid
});

Кажется, у меня хорошо работает. Хотя это не самое элегантное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...