Как встроить рабочую функцию в js?

405
09 августа 2017, 21:34

Использую автокоплейт twitter typeahead

есть там функция в опциях minLength: 0

она отвечает за то, что бы без введения слова, выводился список, при клике на input.

вставить ее в принципе не сложно, смотря на пример

  $('.typeahead').typeahead(
  {
  minLength: 0,
},
                null, {
                name: 'stocks',
                displayKey: 'company_name',
                source: stocks.ttAdapter()
            }).on('typeahead:selected', function(event, data){            
                $('#typeahead').val(data.code);        
            });

Но он почему-то не срабатывает!

var stocksData = [ 
        { 
            "company_name": "Facebook", 
            "code": "fb", 
        }, 
        { 
            "company_name": "Google", 
            "code": "goog", 
        }, 
        { 
            "company_name": "Yahoo", 
            "code": "yhoo", 
        }, 
        { 
            "company_name": "Apple", 
            "code": "aapl", 
        }, 
        { 
            "company_name": "Royal Mail", 
            "code": "rmg.l", 
        }, 
     ]; 
     
    var stocks = new Bloodhound({ 
            datumTokenizer: Bloodhound.tokenizers.obj.whitespace('company_name'), 
            queryTokenizer: Bloodhound.tokenizers.whitespace, 
            local: stocksData 
        }); 
 
        stocks.initialize(); 
 
        $('.typeahead').typeahead( 
            null, { 
            name: 'stocks', 
            displayKey: 'company_name', 
            source: stocks.ttAdapter() 
        }).on('typeahead:selected', function(event, data){             
            $('#typeahead').val(data.code);         
        });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script src=" 
//twitter.github.io/typeahead.js/releases/latest/typeahead.bundle.js"></script> 
 
<input class="typeahead" /> 
<input type="hidden" id="typeahead" /> 
 
 

Answer 1

Вот решение. Нужно было добавить

    var stocksData = [
        {
            "company_name": "Facebook",
            "code": "fb",
        },
        {
            "company_name": "Google",
            "code": "goog",
        },
        {
            "company_name": "Yahoo",
            "code": "yhoo",
        },
        {
            "company_name": "Apple",
            "code": "aapl",
        },
        {
            "company_name": "Royal Mail",
            "code": "rmg.l",
        },
     ];
    var stocks = new Bloodhound({
            datumTokenizer: Bloodhound.tokenizers.obj.whitespace('company_name'),
            queryTokenizer: Bloodhound.tokenizers.whitespace,
            local: stocksData
        });
function getStocks(q, sync) {
  if (q === '') {
    sync(stocks.all());
  } else {
    stocks.search(q, sync);
  }
}
        $('.typeahead').typeahead({
            minLength: 0
        }, {
            name: 'stocks',
            displayKey: 'company_name',
            source: getStocks
        }).on('typeahead:selected', function(event, data){            
            $('.typeahead').val(data.code);        
        });

http://jsfiddle.net/7z9qA/225/

READ ALSO
Структура приложения PHP

Структура приложения PHP

ЗдравствуйтеХотелось бы попросить совета, как правильно организовать структуру приложения

555
Запись в Google таблицы без API php

Запись в Google таблицы без API php

Есть задача - сделать запись в Googlespreadsheets через php без использования API

362
Скрипт авторизации на сайте Vk.com

Скрипт авторизации на сайте Vk.com

Где можно найти актуальную версию php скрипта авторизации на сайте vkДело в том, что хочу попытаться сделать поиск через vk

312