Как добавить, что пользовательский элемент списка на конце jQuery автоматически заполняет результаты

Я использую автоматическое заполнение jQuery, и я установил их Вар

$("#some_id").autocomplete("search.php?in=somewhere", {
        width: 270,
        selectFirst: false
});
$('#some_id').setOptions({max: 5});

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

Как я делаю это?

5
задан Artyom Chakhoyan 22 January 2010 в 21:51
поделиться

2 ответа

Немного от темы, но если вы пытаетесь сделать это, то может быть, что ваш дизайн ошибочен...

Почему бы не перегрузить метод и не задать результат как параметр out:

void MyMethod(out int result)
{
  result=0;
}

void MyMethod(out string result)
{
  result="my value";
}

Тогда можно сказать:

int value;
MyMethod(out value);

И компилятор выберет правильную версию

-121--4746498-

именованные группы захвата хороши, обычно то, что с помощью более простого regex's использование числовой группы захвата, вероятно, более упорядочен, некоторые советы здесь:

http://www.regular-expressions.info/named.html

-121--3665342-

Это вероятно потребует редактирования вокруг этой функции.

    function fillList() {
        list.empty();
        var max = limitNumberOfItems(data.length);
        for (var i=0; i < max; i++) {
            if (!data[i])
                continue;
            var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
            if ( formatted === false )
                continue;
            var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
            $.data(li, "ac_data", data[i]);
        }
        // INSERT YOUR ADDITIONAL ENTRY HERE... 
        listItems = list.find("li");
        if ( options.selectFirst ) {
            listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
            active = 0;
        }
        // apply bgiframe if available
        if ( $.fn.bgiframe )
            list.bgiframe();
    }
3
ответ дан 14 December 2019 в 01:08
поделиться

Большое спасибо! Вот что я сделал

function fillList() {
  list.empty();
  var max = limitNumberOfItems(data.length);
  for (var i=0; i < max; i++) {
   if (!data[i])
    continue;
   var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
   if ( formatted === false )
    continue;
   var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
   $.data(li, "ac_data", data[i]);
  }

  listItems = list.find("li");

  //////////////////////////// TOM //////////////////////////////////////////////////////////////////////////////////
  if( data.length > 5 ){ 
   if( (data.length-5) == 1 ){
    listItems[4].innerHTML +='<div style="position:absolute; top:127px; left:0px; width:260px;text-align:right;" >'+(data.length-5)+' item isn\'t shown</div>';
   }
   else{
    listItems[4].innerHTML +='<div style="position:absolute; top:127px; left:0px; width:260px;text-align:right;" >'+(data.length-5)+' items aren\'t shown</div>';
   }
  }
  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

  if ( options.selectFirst ) {
   listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
   active = 0;
  }
  // apply bgiframe if available
  if ( $.fn.bgiframe )
   list.bgiframe();
 }
3
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: