在rails3-jquery-autocomplete插件的末尾添加一个<li>标签</li>

时间:2012-04-10 16:44:41

标签: jquery-ui autocomplete

我正在尝试在自动填充列表的末尾添加一个附加标记。

$('#address ul.ui-autocomplete').append("<li>Add Venue</li>");

我正在试图找出上面代码的位置,以便将额外的li添加到自动完成列表中。

任何帮助都将深受赞赏。

这是rails3-jquery-autocomplete文件。

  source: function( request, response ) {
  $.getJSON( $(e).attr('data-autocomplete'), {
    term: extractLast( request.term )
  }, function() {
    $(arguments[0]).each(function(i, el) {
      var obj = {};
      obj[el.id] = el;
      $(e).data(obj);
    });
    response.apply(null, arguments);
  });
},

open: function() {
  // when appending the result list to another element, we need to cancel the "position: relative;" css.
 if (append_to){
   $(append_to + ' ul.ui-autocomplete').css('position', 'static');

  } 
},
search: function() {
  // custom minLength

  var minLength = $(e).attr('min_length') || 2;
  var term = extractLast( this.value );
  if ( term.length < minLength ) {
    return false;
  }
},
focus: function() {
  // prevent value inserted on focus
  return false;
},
select: function( event, ui ) {
  var terms = split( this.value );
  // remove the current input
  terms.pop();
  // add the selected item
  terms.push( ui.item.value );

  // add placeholder to get the comma-and-space at the end
  if (e.delimiter != null) {
    terms.push( "" );
    this.value = terms.join( e.delimiter );
  } else {
    this.value = terms.join("");
    if ($(this).attr('data-id-element')) {
      $($(this).attr('data-id-element')).val(ui.item.id);

    }
    if ($(this).attr('data-update-elements')) {
      var data = $(this).data(ui.item.id.toString());
      var update_elements = $.parseJSON($(this).attr("data-update-elements"));
      for (var key in update_elements) {
        $(update_elements[key]).val(data[key]);
      }
    }
  }
  var remember_string = this.value;
  $(this).bind('keyup.clearId', function(){
    if($(this).val().trim() != remember_string.trim()){
      $($(this).attr('data-id-element')).val("");
      $(this).unbind('keyup.clearId');
    }
  });
  $(this).trigger('railsAutocomplete.select');
  return false;


}

}); }

1 个答案:

答案 0 :(得分:2)

解决了这个问题。

$('#address').bind('autocompleteopen', function(event,data){

$('<li id="ac-add-venue"><a href="....">Add venue</a></li>').appendTo('ul.ui-autocomplete');

});