typeahead bootstrap3: как передать параметр удаленному?

Я пытаюсь использовать типизированный твиттер для начальной загрузки https://github.com/twitter/typeahead.js

Мне нужно динамически менять пульт в соответствии с тем, что вводит пользователь, и ДРУГИМ параметром. (Цель состоит в том, чтобы получить города страны)

попытка с country="en"; не влияет на попытку с autocompleter.remote=".."; не работает.

Есть идеи ?

<script>
var country="fr";
var autocompleter = new Bloodhound({
  datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  remote: 'ajax.php?action=getVilles&country='+country+'&ville=%QUERY'
});
 autocompleter.initialize();


$('#city').typeahead(null, {
  name: 'city',
  displayKey: 'city',
  source: autocompleter.ttAdapter()
});


</script>

person yarek    schedule 11.09.2014    source источник


Ответы (1)


Вот что я сделал:

var tagStudies = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {
        url: "autocomplete/study",
        replace: function(url, uriEncodedQuery) {
            study = $('#study').val();
            ssp = $("#social-security").val();

            return url + '?q=' + uriEncodedQuery + '&s=' + study + '&ssp=' + ssp 
        },
        filter: function (parsedResponse) {
            return parsedResponse.studies;
        }
    }
});

Обратите внимание на функцию замены. Первый параметр — это URL-адрес, а второй — то, что вводит пользователь. Я сделал конкатенацию, чтобы передать запрос и 2 дополнительных параметра. Если вы копируете код, убедитесь, что вы заменили «текст» на «значение» в datumTokenizer. Надеюсь, поможет

person Eduardo Pacios    schedule 05.11.2014
comment
Спасибо за комментарий, очень помог разобраться, как получить то, что печатает пользователь - person JustLearning; 03.04.2016