【问题标题】:Getting number of results of typeahead-input in meteor app在流星应用程序中获取预先输入的结果数量
【发布时间】:2015-10-06 07:46:30
【问题描述】:

我正在使用 sergeyt:typeahead 在我的流星应用程序中使用 typeahead。我正在使用多个数据集:

帮手

  Template.demo.helpers({
    teams: function() {
      return [
        {
          name: 'nba-teams',
          valueKey: 'name',
          local: function() { return Nba.find().fetch(); },
          header: '<h3 class="league-name">NBA Teams</h3>',
          template: 'team'
        },
        {
          name: 'nhl-teams',
          valueKey: 'name',
          local: function() { return Nhl.find().fetch(); },
          header: '<h3 class="league-name">NHL Teams</h3>',
          template: 'team'
        }
      ];
    }
  });

结果模板:

<template name="team">
    <h4><i>{{name}}</i></h4>
</template>

现在我需要知道例如对于表单的提交事件,如果有结果/有多少结果。但我没有找到任何信息如何做到这一点。

也许我必须遍历 .tt-menu 中的元素,但这对我来说感觉很糟糕。

【问题讨论】:

    标签: meteor typeahead.js


    【解决方案1】:

    你可以试试这个。我假设结果显示为 li 元素。如果你的模板有什么不同,你必须更改find()

    'submit form': function(event) {
        event.preventDefault();
        var newElement = $('.tt-menu').find("li").length == 0,
        hasContent = event.target[1].value.length > 0;
        if (hasContent && newElement) {
            console.log('new element');
        }
        else { console.log($('.tt-menu').find("li").length); }
    }
    

    【讨论】:

      【解决方案2】:

      我会为此使用typeahead:render 事件。根据 Twitter 的 typeahead.js 文档:

      将使用 4 个参数调用事件处理程序:jQuery 事件对象、已呈现的建议​​、指示是否异步获取建议的标志以及发生呈现的数据集的名称在。

      所以您可以将事件绑定到您的输入:

      Template.demo.onRendered(function () {
        this.$('.typeahead').bind('typeahead:render', function(ev, suggestions) {
          // may not be that simple to fetch, but inspect the object and you can figure it out
          console.log(suggestions.length); 
        });
      });
      

      【讨论】:

      • 不幸的是,这给了我一个 undefined 用于第一个字符,Uncaught TypeError: Cannot read property 'length' of undefined 用于以下输入...
      猜你喜欢
      • 1970-01-01
      • 2014-03-04
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多