Javascript 通过数据URL参数将URL传递给typeahead.js

Javascript 通过数据URL参数将URL传递给typeahead.js,javascript,jquery,twitter-bootstrap,twitter,typeahead.js,Javascript,Jquery,Twitter Bootstrap,Twitter,Typeahead.js,我的Twitter Typeahead.js工作得很好,但我希望通过数据参数传递“预回迁”或“远程”URL,使它更模块化(干式!) 因此,我的标记是: <input class="typeahead" data-url="http://campaigndashboard.dev/ajax/con" /> 我以前使用过这种传递变量的方法,但我不明白为什么这不起作用。如果%QUERY是“远程”的,我还想附加它,但如果它是“预回迁”的,我就不想附加它了,对此有什么想法吗 注意:我没有试图

我的Twitter Typeahead.js工作得很好,但我希望通过数据参数传递“预回迁”或“远程”URL,使它更模块化(干式!)

因此,我的标记是:

<input class="typeahead" data-url="http://campaigndashboard.dev/ajax/con" />
我以前使用过这种传递变量的方法,但我不明白为什么这不起作用。如果%QUERY是“远程”的,我还想附加它,但如果它是“预回迁”的,我就不想附加它了,对此有什么想法吗

注意:我没有试图修改URL的%QUERY部分,所以我忽略了replace()函数

Jquery非常新,所以请随时告诉我我做错了什么

提前谢谢


Al

解决了它

在调用typeahead之前,我需要创建某种函数来收集数据属性

这就是我所做的(如果有人想知道):

我相信这不是最优雅的方式-请在评论中随意更正/改进

您的标记(HTML)如下所示:

<input type="text" class="typeahead" data-source="http://{yoursite.com}/url/to/your/json" >


希望这对某人有所帮助。

解决了它

在调用typeahead之前,我需要创建某种函数来收集数据属性

这就是我所做的(如果有人想知道):

我相信这不是最优雅的方式-请在评论中随意更正/改进

您的标记(HTML)如下所示:

<input type="text" class="typeahead" data-source="http://{yoursite.com}/url/to/your/json" >


希望这对某人有所帮助。

解决了它

在调用typeahead之前,我需要创建某种函数来收集数据属性

这就是我所做的(如果有人想知道):

我相信这不是最优雅的方式-请在评论中随意更正/改进

您的标记(HTML)如下所示:

<input type="text" class="typeahead" data-source="http://{yoursite.com}/url/to/your/json" >


希望这对某人有所帮助。

解决了它

在调用typeahead之前,我需要创建某种函数来收集数据属性

这就是我所做的(如果有人想知道):

我相信这不是最优雅的方式-请在评论中随意更正/改进

您的标记(HTML)如下所示:

<input type="text" class="typeahead" data-source="http://{yoursite.com}/url/to/your/json" >

希望这对某人有所帮助。

更好的是:

$(.typeahead”)。每个(函数(){
$(此)。请提前键入({
名称:$(this).name,
远程:$(此).data('源')
});
});更好的是:

$(.typeahead”)。每个(函数(){
$(此)。请提前键入({
名称:$(this).name,
远程:$(此).data('源')
});
});更好的是:

$(.typeahead”)。每个(函数(){
$(此)。请提前键入({
名称:$(this).name,
远程:$(此).data('源')
});
});更好的是:

$(.typeahead”)。每个(函数(){
$(此)。请提前键入({
名称:$(this).name,
远程:$(此).data('源')
});
});Ok找出了“正确的”(?)答案。为了在单击时动态确定url,需要使用源语法,其中第一个参数是选项的映射,第二到第n个参数是数据集选项的映射

$(".typeahead").typeahead({}, {
  source: function(){
    var url = this.$el.parents(".twitter-typeahead").find(".typeahead").data().url
    ....ajax to your url...
  }
})
好的,我找到了“正确的”(?)答案。为了在单击时动态确定url,需要使用源语法,其中第一个参数是选项的映射,第二到第n个参数是数据集选项的映射

$(".typeahead").typeahead({}, {
  source: function(){
    var url = this.$el.parents(".twitter-typeahead").find(".typeahead").data().url
    ....ajax to your url...
  }
})
好的,我找到了“正确的”(?)答案。为了在单击时动态确定url,需要使用源语法,其中第一个参数是选项的映射,第二到第n个参数是数据集选项的映射

$(".typeahead").typeahead({}, {
  source: function(){
    var url = this.$el.parents(".twitter-typeahead").find(".typeahead").data().url
    ....ajax to your url...
  }
})
好的,我找到了“正确的”(?)答案。为了在单击时动态确定url,需要使用源语法,其中第一个参数是选项的映射,第二到第n个参数是数据集选项的映射

$(".typeahead").typeahead({}, {
  source: function(){
    var url = this.$el.parents(".twitter-typeahead").find(".typeahead").data().url
    ....ajax to your url...
  }
})


为了澄清,我在这里包括了两个“remote”行,但在实际代码中,我使用了其中一行,您是否在javascript控制台中遇到错误?Hi@Pascamel。谢谢你的快速回复。没有错误,我尝试包含一个console.log(),但没有;t log:
.on('typeahead:opened',function(){console.log('remote=',remote);})
为了澄清,我在这里包含了两行“remote”,但在实际代码中,我使用了其中一行,您在javascript控制台中是否遇到错误?Hi@Pascamel。谢谢你的快速回复。没有错误,我尝试包含一个console.log(),但没有;t log:
.on('typeahead:opened',function(){console.log('remote=',remote);})
为了澄清,我在这里包含了两行“remote”,但在实际代码中,我使用了其中一行,您在javascript控制台中是否遇到错误?Hi@Pascamel。谢谢你的快速回复。没有错误,我尝试包含一个console.log(),但没有;t log:
.on('typeahead:opened',function(){console.log('remote=',remote);})
为了澄清,我在这里包含了两行“remote”,但在实际代码中,我使用了其中一行,您在javascript控制台中是否遇到错误?Hi@Pascamel。谢谢你的快速回复。没有错误,我尝试包含一个console.log(),但没有;t log:
.on('typeahead:opened',function(){console.log('remote=',remote);})
PS。如果您和我一样不熟悉这个,那么要让它工作起来,只需将class='typeahead'添加到希望显示typeahead的输入中。大学教师;不要忘记指定数据源=“url”,因为在本例中没有回退<代码>
我也有这个问题。我不敢相信这没有得到直接支持。我喜欢您的方法,但是如果在#each loop is run.PS之后添加一个typeahead输入,那么它将不起作用。如果你和我一样不熟悉这个,那么为了让它正常工作,只需将class='typeahead'添加到你想要的输入中