jQuery Autocomplete & JTemplates - обработка ответа - PullRequest
0 голосов
/ 01 июня 2010

Кто-нибудь имел опыт использования jTemplates для отображения результатов автозаполнения.

У меня есть следующее

$("#address-search").autocomplete({
    source: "/Address/SearchAddress",
    minLength: 2,
    delay: 400,
    focus: function (event, ui) {
      $('#address-search').val(ui.item.name);
       return false;
    },
    parse: function(data) {
      $("#autocomplete-results").setTemplate($("#templateHolder").html());
      $("#autocomplete-results").processTemplate(data);
    },
    select: function (event, ui) {
    $('#address-search').val(ui.item.name);
    $('#search-address-id').val(ui.item.id);
    $('#search-description').html(ui.item.address);

    });

и простой держатель jtemplate:

<script type="text/html" id="templateHolder">
    <ul class="autocomplete">
        {#foreach $T as data}
        <li>{$T.name}</li>
        {#/for}
    </ul>
</script>

Выше я использую 'Parse' для форматирования результатов, я также попробовал метод результата автозаполнения, но пока мне не повезло. Единственный успех, который у меня был, это использование закрытого метода ._renderItem и форматирование данных таким образом, но мы хотим визуализировать вывод, используя jTemplate.

Любой совет приветствуется.

1 Ответ

0 голосов
/ 09 июня 2010

С какими проблемами вы сталкиваетесь? Просто глядя на ваш код очень быстро, кажется, что вы, возможно, не получаете значения, которые вы хотите, в шаблон, или это может быть ошибка? В вашем foreach вы вызываете отдельные объекты в вашем массиве data, но добавляете значение {$T.name}. Может быть, вы хотите {$T.data.name} вместо?

...