Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему ошибка при возвращении значения? (https://javascript.ru/forum/misc/58164-pochemu-oshibka-pri-vozvrashhenii-znacheniya.html)

Валерий1996 08.09.2015 12:33

Почему ошибка при возвращении значения?
 
Нашёл в инете скрипт , для удаление пробелов с строки , если используется плагин jquery autocomplete .
Проблема с этой строкой :
return tag.getbigData().match(reg);
она не отрабатывает. Подскажите как исправить ?

в оригинале так :
return tag.label.match(reg);


вот весь мой код :
var minfeted  = []

 
 var sten =  Object.keys(article[0].data.catalog)

 var ostin =  Object.keys(projects[0].data.allbrends)

sten.forEach(function(item, i, arr) {
  minfeted.push(item)
});
ostin.forEach(function(item, i, arr) {
  minfeted.push(item)
});

//*****************************************************************/
function getbigData() {
    return minfeted;
}
console.log(minfeted)


//*************************************************************************
$(function(){
    $( "#myinput" ).autocomplete({
         minLength: 0,
        source: function(request, response) {
            var term = $.trim(request.term);
            var reg = new RegExp($.ui.autocomplete.escapeRegex(term), "i");
            if (term !== "") {
                response($.grep(getbigData(), function(tag) {
                    return tag.getbigData().match(reg);
                }));
            }
        },
        focus: function( event, ui ) {
            $( "#myinput" ).val( ui.item.value);
            return false;
        },
    
        select: function( event, ui ) {
            $( "#myinput" ).val( ui.item.value);
            return false;
      
        }
    })
})			
  
 
   
   
   
   
 });

nesnayka 08.09.2015 13:12

Хотелось бы знать, что вы подразумеваете под этим "для удаление пробелов с строки"? Скрипт немного другую задачу выполняет, нежели просто что-то с пробелами делает...
И может вам подойдут стандартные
.trim()
и
.replace(/\s{2,}/gi, ' ')
?

Валерий1996 08.09.2015 13:23

Он должен работать с плагином aotocomplect. потому так сложно. В моей версии скрипта sorse: getbigData(); а в того человека который делал скрипт sorce метод который удаляет пробелы в начале строки. Проблемма в том , что я не знаю что нужно поменять в этом месте : tag.label.match(reg); чтоб скрипт работал.

Валерий1996 08.09.2015 13:25

Стандартный trim у меня не получилось применить в месте с плагином autocomplect

nesnayka 08.09.2015 13:46

Цитата:

Сообщение от Валерий1996 (Сообщение 387529)
Проблема с этой строкой :
return tag.getbigData().match(reg);
она не отрабатывает. Подскажите как исправить ?
в оригинале так :
return tag.label.match(reg);

Проблема в том, что в оригинале label - строка, а у вас getbigData() отдает массив.
Копайте в этом направлении. )


Часовой пояс GMT +3, время: 02:43.