jquery autocomplete: несколько элементов выбрано, как не отображать выбранные элементы в выпадающем меню? - PullRequest
0 голосов
/ 15 марта 2011

Я реализовал ввод автозаполнения jquery, который показывает раскрывающийся список.

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

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

Это мой код JS:

  jQuery("#user_autocomplete")
  .autocomplete('autocompleteUser', jQuery.extend({}, {
    dataType: 'json',
    parse: function(data) {

      var parsed = [];
      for (key in data) {

    parsed[parsed.length] = { data: [ data[key], key ], value: data[key], result: data[key] };
      }

      return parsed;

      }
  } ))
  .result(function(event, data) {
   $('#field_users').append('<div class="user_choosen" id=' + data[1] + '>' + data[0] +'<a class="link_delete_user" href="#" onclick="javascript:deleteUser(' + data[1] +')">Delete</a></div>'); 
    $('#user_autocomplete').val(''); 

  });

Привет

1012 * Javi *

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

В вашей функции разбора отфильтруйте уже выбранные элементы и не добавляйте их в массив parsed [].

0 голосов
/ 15 марта 2011

Моя рекомендация - редактировать атрибут источника автозаполнения.После того как вы выполнили выборку и получили данные JSON, удалите элементы, которые уже находятся в div.user_chosen.Вы можете редактировать параметры автозаполнения в любое время.Вы захотите отредактировать параметр source.

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