我正在使用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';
}
});
})
答案 0 :(得分:1)
IronRouter
只能在路由器中定义它时读取参数。对于由API创建的动态参数的情况,最好的方法是使用javascript来读取它。请查看here