首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在FOSJsRoutingBundle中使用Typeahead + Bloodhound和Symfony2执行查询

在FOSJsRoutingBundle中使用Typeahead + Bloodhound和Symfony2执行查询
EN

Stack Overflow用户
提问于 2014-08-01 15:15:57
回答 1查看 1.5K关注 0票数 1

我正在尝试设置Typeahead + Bloodhound来执行搜索,并在字段中提供建议。该字段的HTML代码如下:

代码语言:javascript
复制
<div class="col-sm-10" id="products_forms">
    <input type="text" placeholder="Producto" id="ProductoForm_0_product_id" name="ProductoForm[0][product_id]" class="form-control typeahead">
</div>

我使用Symfony的两个主要函数:一个用于返回所有产品并将其用作prefetch,另一个用于过滤产品。该函数的路由如下所示:

代码语言:javascript
复制
 // the one I use as prefetch parameter in bloodhound
 * @Route("/get_products", name="all_products")

 // the one I use as remote
 * @Route("/get_products/{filter}", name="filter_products")

如您所见,第一个参数没有得到任何参数,因为它以JSON值的形式返回所有产品,但第二个参数以{filter}作为执行LIKE的参数,并且只返回过滤的产品。

现在,我根本不知道血犬是如何工作的,所以我读了文档,也读了文档,并以这里 the Remote one为例,编写了以下代码:

代码语言:javascript
复制
// Trigger typeahead + bloodhound
var products = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    prefetch: Routing.generate('all_products'),
    remote: Routing.generate('filter_products', { 'filter' : '%query' })
});

products.initialize();
$('#products_forms .typeahead').typeahead(null, {
    name: 'products',
    displayKey: 'value',
    source: products.ttAdapter()
});

是那么回事吗?我的意思是,当页面加载时,我将得到所有的产品预取,但是如果我在.typeahead元素上输入任何内容,我只会得到过滤的?我不知道%query是否是正确的值,为了获得过滤的值,我应该传递给filter_products路由。有什么帮助吗?

这是我第一次使用Type预报+血犬

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-24 10:50:59

remote: Routing.generate('filter_products', { 'filter' : '%query' })替换为G.

代码语言:javascript
复制
var url = Routing.generate('filter_products', {filter: 'WILDCARD'});
// ... some code
remote: {
            url: url,
            wildcard: 'WILDCARD'
        }

这将首先生成一个带有RoutingBundle的通用url,并以“通配符”作为筛选器。而不是告诉猎犬使用url上的“通配符”作为占位符,它将用输入的查询完美地替换它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25083391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档