Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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;
                      
      },
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2014, 13:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

rs_ssh,
var singleText = selected[0]; если это элемент то попробуйте взять selected[0].value() или selected.val()
Ответить с цитированием
  #3 (permalink)  
Старый 04.04.2014, 15:19
Новичок на форуме
Отправить личное сообщение для rs_ssh Посмотреть профиль Найти все сообщения от rs_ssh
 
Регистрация: 04.04.2014
Сообщений: 4

Сообщение от рони Посмотреть сообщение
rs_ssh,
var singleText = selected[0]; если это элемент то попробуйте взять selected[0].value() или selected.val()
var singleText = selected.val(); - так пустое значение, а первый вариант не работает.
Ответить с цитированием
  #4 (permalink)  
Старый 04.04.2014, 15:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

rs_ssh,
увы ваш код неосилил.
Ответить с цитированием
  #5 (permalink)  
Старый 05.04.2014, 00:28
Новичок на форуме
Отправить личное сообщение для rs_ssh Посмотреть профиль Найти все сообщения от rs_ssh
 
Регистрация: 04.04.2014
Сообщений: 4

Ok

Последний раз редактировалось rs_ssh, 05.04.2014 в 23:51.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 компьютера 1 хром и 1 скрипт Megatron13 Opera, Safari и др. 1 21.07.2013 19:12
Почему скрипт не работает с данными, которые вернул другой скрипт? Rooner jQuery 3 20.09.2012 14:56
Изменить скрипт Изучаю_JS Общие вопросы Javascript 0 12.02.2012 22:05
Скрипт отслеживающий подгрузку контента на страницу. psqs Events/DOM/Window 2 23.01.2012 21:29
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40