有一个简单的页面,我按关键字显示搜索结果。 但现在我想按一些标准搜索这些结果。
我该怎么做
SearchController
class SearchController extends \BaseController {
public function search() {
$keyword = Input::get('header-search-query');
if (empty($keyword)) {
$product = Product::paginate(10);
$this - > setModel($product);
return View::make('product.listbykeyword') - > with('products', $product);
}
return View::make('product.listbykeyword') - > with('products', Product::like('title', $keyword) - > paginate(10));
}
public function advance() {
//what should i put here
}
}
查看
@foreach($products as $product)
<div class="media">
<div class="media-left" style="width:16%;">
<a href="{{ URL::to('image/'.$product->productImage()->first()['image']) }}">
{{ HTML::image('image/'.$product->productImage()->first()['image'],'no-image',array('class'=>'media-object','height'=>'100','width'=>'100'))}}
</a>
</div>
<div class="media-body">
<h4 class="media-heading">{{ HTML::link('/product/'.$product->id,$product->title) }}</h4>
<p>{{substr($product->description,0,85)}}</p>
<p>Price : {{$product->price}} TK</p>
<p class="time">{{$product->created_at->diffForHumans()}}
<b>Near</b> {{$product->location}}
</p>
</div>
</div>
<hr></hr>
@endforeach
答案 0 :(得分:0)
因为在公共搜索中你无法使用Datatables,所以我建议你在keychange事件上使用ajax调用。
第1步:
从文本框中检测密钥更改
<input id='myTextbox1' type='text'/>
$('#myTextbox1').on('input', function() {
alert('Text1 changed!');
});
以下是fiddle
第2步:
将ajax页面调用到您的控制器
$.ajax({
type: "POST",
url : "yourcontroller",
data : dataString,
success : function(data){
$("#result").html(data);
}
});
在页面中放置一个名为result
的div。
因此,您首次从默认控制器获取结果,然后在myTextbox1
中键入文本时,您将使用它来调用控制器yourcontroller
和控制器你应该得到datastring
并将匹配的输出返回给视图。
希望这会对你有所帮助。