流星形式输入

时间:2016-02-24 05:22:29

标签: javascript jquery api meteor

我正在使用meteor构建一个显示股票信息的网络应用程序。我目前在客户端有一个输入文本。输入通过Markit on Demand连接到Lookup API。这是代码:

Template.LookupTemplate.onRendered(function() {
this.$("#Lookup")
.focus()
.autocomplete({
  source: function(request,response) {
    $.ajax({
      url: "http://dev.markitondemand.com/api/v2/Lookup/jsonp",
      dataType: "jsonp",
      data: {
        input: request.term
      },
      success: function(data) {
        response( $.map(data, function(item) {
          return {
            label: item.Name + " (" +item.Exchange+ ")",
            value: item.Symbol
          }
        }));
      },
      minLength: 0,
              select: function(event,ui ) {
        console.log(ui.item);
      }
    });
  }
});

}); //Closing tag of LoookupTemplate.onRendered

如何通过客户端捕获选择?当用户开始键入公司名称时,jquery自动完成功能将启动并为客户端提供可供选择的选项列表。一旦用户选择它并点击“输入”(提交它),页面就会重新加载到

http://localhost:3000/Overview?stockname=AAPL

如何捕获该输入(本例中为AAPL),然后将其传递给另一个为该特定股票构建图表的函数?

- Router.js

Router.configure({

//这是默认的布局/顶级模板     layoutTemplate:'layout' });

Router.map(function() {
    this.route('/', {
        path: '/',
        action: function() {
            this.redirect('landingpage')
        document.title = 'Cash'
    }
    });

  // Route for the landing page when user is not logged in
    this.route('landingpage', {
        path: '/landingpage',
        after: function() {
        document.title = 'Cash'
    }
    });

// Route to our main app. Note that I use / path as I treat this as default behavior
    this.route('/Overview', {
        path: '/Overview',
        after: function () {
            document.title = 'Cash';
        }
    });
})

1 个答案:

答案 0 :(得分:1)

IronRouter只能在路由器中定义它时读取参数。对于由API创建的动态参数的情况,最好的方法是使用javascript来读取它。请查看here

中的解决方案