Javascript symfony 3:我想创建一个滑块,在最小值和最大值之间过滤研究列表
这是显示范围滑块和酒店列表的视图 我想通过点击范围来过滤研究Javascript symfony 3:我想创建一个滑块,在最小值和最大值之间过滤研究列表,javascript,ajax,symfony,Javascript,Ajax,Symfony,这是显示范围滑块和酒店列表的视图 我想通过点击范围来过滤研究 {% block body %} <div class="container" style="width:800px;"> <div align="center"> <input type="range" min="10000" max="55000" step="1000" value="10000" id="min_price" name="min_price" />
{% block body %}
<div class="container" style="width:800px;">
<div align="center">
<input type="range" min="10000" max="55000" step="1000" value="10000" id="min_price" name="min_price" />
<span id="price_range"></span>
</div>
<br /><br /><br />
<div id="product_loading">
<div class="col-md-9">
<div class="row">
{% for x in Hotels %}
<div class="col-sm-4 col-lg-4 col-md-4">
<div class="thumbnail">
<img src="{{ asset('uploads/brochures/'~x.brochure) }}" alt="">
<div class="caption">
<h4 class="pull-right">{{ x.price }}</h4>
<h4><a href="#">{{ x.titre }}</a>
</h4>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('#min_price').change(function(){
var price = $(this).val();
$("#price_range").text("Product under Price Rs." + price);
$.ajax({
url:" {{ path('Hotel__') }},
data:'price' +price ,
method:"POST",
success:function(data){
$("#product_loading").fadeIn(500).html(data);
}
});
});
});
</script>
{% endblock %}
以及路由配置:
Hotel__:
path: /hotel/{budget}
defaults: { _controller: .......Bundle:.....:getList }
但这是个例外
在呈现模板的过程中引发了一个异常(“缺少一些必需参数(“价格”),以生成路由的URL您的代码似乎组织得非常糟糕。 您希望如何将价格传递给getListAction 使用预算作为GET参数?还是使用价格作为POST参数 出现错误的原因如下: 您的酒店路线需要生成
{budget}
在模板中,您可以调用{{path('Hotel{')}
因此,您必须定义预算:
{{ path('Hotel__',{'budget':142}) }}
但我不认为这有什么意义,因为你的预算可能必须来自滑块,而不是细枝
编辑: 您可以通过
数据:{price:price}
然后将其放入控制器中,如下所示:
use Symfony\Component\HttpFoundation\Request;
...
public function getListAction(Request $request)
{
$price = $request->get('price');
}
然后,删除所有{budget}发生。你在getListAction中得到$budget的值吗?或者它是空的?不,它是空的,应该从滑块中获取值!但是在URL中,我必须放置过滤研究的vue,这就是为什么我要在URL区域中调用函数GetListHotelinBudget的原因。我应该在URL中放置什么!这是我第一次在stackover上发布flow,我很高兴为我的问题找到答案,但我不知道如何接受你的答案:/告诉我怎么做,我会这么做:d通过答案分数左上方的答案,一个V按钮;)
{{ path('Hotel__',{'budget':142}) }}
use Symfony\Component\HttpFoundation\Request;
...
public function getListAction(Request $request)
{
$price = $request->get('price');
}