jquery ui autocomplete _renderItem кажется мешает событию выбора

Мое событие выбора не работает, если я использую _renderItem. Если я закомментирую последний блок кода, где я вызываю _renderItem, событие select сработает. Когда я использую _renderItem, событие выбора вообще не срабатывает.

var cache = {}, lastXhr; 

$("#hifind-find").autocomplete({
  source: function(request, response) {

    var term = request.term; 
    if (term in cache) {
      response(cache[term]);
      return;
    }

    var posturl = '/hifind/jquery_ui/autocomplete/'+term; 
    lastXhr = $.post(posturl, function(data, status, xhr) {
      cache[term] = data; 
      if (xhr === lastXhr) {
        response(data); 
      } 
    }, 'json');
  },
  delay: 300,
  minLength: 1,
  select: function(event, ui){
    window.location = ui.item.dest;
  }
});

$.ui.autocomplete.prototype._renderItem = function(ul, item) {
  return $("<li></li>")
    .data("item.autocomplete", item)
    .append('<img src="' + iconImgPath + item.flag + '-search.png" class="icon-autocomplete-bundle">' + item.label )
    .appendTo( ul );
};

Я получаю тот же результат, если делаю что-то вроде...

$("#hifind-find").autocomplete(myConfig).data("autocomplete")._renderItem = renderItemFunction;

В любом случае выбор не срабатывает. _renderItem делает то, что должен. Он изменяет элемент, и ошибок нет, но, похоже, выбор прерывается.

10
задан Andrew Whitaker 5 June 2012 в 15:50
поделиться