Показать сообщение отдельно
  #1 (permalink)  
Старый 04.04.2014, 13:03
Новичок на форуме
Отправить личное сообщение для rs_ssh Посмотреть профиль Найти все сообщения от rs_ssh
 
Регистрация: 04.04.2014
Сообщений: 4

Скрипт autocomplete
Пробую сделать refresh страницы c выбранной поисковой подсказкой.

Добавил только эти строки в данный скрипт:
var singleText = selected[0];
window.location.href = window.location.href+ "&title="+singleText;

В итоге страница обновляется, но в переменную title пишется [object%20HTMLLIElement] а не выбранная подсказка.
http://localhost/index.php?id=1&title=[object%20HTMLLIElement]

А если так:
var singleText = term;
то всё бы хорошо, но в переменную вписывается столько символов подсказки сколько было набрано при поиске -
набрали ябл высветилось яблоко, нажали на яблоко, в title пишется ябл а не яблоко.

Вобщем где найти переменную с выбранной подсказкой?

Привожу только функции из js так как всё не поместилось

function request(term, success, failure) {
      if (!options.matchCase)
         term = term.toLowerCase();
      var data = cache.load(term);
      // recieve the cached data
      if (data && data.length) {
         success(term, data);
      // if an AJAX url has been supplied, try loading the data now
      } else if( (typeof options.url == "string") && (options.url.length > 0) ){
         
         var extraParams = {
            timestamp: +new Date()
         };
         $.each(options.extraParams, function(key, param) {
            extraParams[key] = typeof param == "function" ? param() : param;
         });
         
         $.ajax({
            // try to leverage ajaxQueue plugin to abort previous requests
            mode: "abort",
            // limit abortion to this input
            port: "autocomplete" + input.name,
            dataType: options.dataType,
            url: options.url,
            data: $.extend({
               q: encodeURIComponent(lastWord(term)),
               limit: options.max
            }, extraParams),
            success: function(data) {
               var parsed = options.parse && options.parse(data) || parse(data);
               cache.add(term, parsed);
               success(term, parsed);
            }
         });
      } else {
         // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
         select.emptyList();
         failure(term);
      }
   };



function selectCurrent() {
      var selected = select.selected();
      if( !selected )
         return false;
      
      var v = selected.result;
      previousValue = v;
      
      if ( options.multiple ) {
         var words = trimWords($input.val());
         if ( words.length > 1 ) {
            var seperator = options.multipleSeparator.length;
            var cursorAt = $(input).selection().start;
            var wordAt, progress = 0;
            $.each(words, function(i, word) {
               progress += word.length;
               if (cursorAt <= progress) {
                  wordAt = i;
                  return false;
               }
               progress += seperator;
            });
            words[wordAt] = v;
            // TODO this should set the cursor to the right position, but it gets overriden somewhere
            //$.Autocompleter.Selection(input, progress + seperator, progress + seperator);
            v = words.join( options.multipleSeparator );
         }
         v += options.multipleSeparator;
      }
      
      $input.val(v);
      hideResultsNow();
      $input.trigger("result", [selected.data, selected.value]);
      return true;
   }


selected: function() {
         var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
         //return selected && selected.length && $.data(selected[0], "ac_data");

            var TitleText = selected[0];
            window.location.href = window.location.href+ "&title="+TitleText;
                      
      },
Ответить с цитированием