Jquery 使用Laravel 5中的下拉菜单进行高级搜索
我在下拉列表中有四个选项,我正在尝试根据所选选项从数据库中筛选数据,我已签入控制台数据,但在我的查看页面数据未刷新,我已附加图像,请检查,我正在努力,请帮助 这是我的HTML代码视图Jquery 使用Laravel 5中的下拉菜单进行高级搜索,jquery,ajax,database,laravel-5,Jquery,Ajax,Database,Laravel 5,我在下拉列表中有四个选项,我正在尝试根据所选选项从数据库中筛选数据,我已签入控制台数据,但在我的查看页面数据未刷新,我已附加图像,请检查,我正在努力,请帮助 这是我的HTML代码视图 这是我加载控制器的Ajax <script> (function($) { $('#property_id').on('change', function() { var optionSelected = $(thi
这是我加载控制器的Ajax
<script>
(function($) {
$('#property_id').on('change', function() {
var optionSelected = $(this).find("option:selected");
var prop_type = optionSelected.val();
$.ajax({
type: "GET",
url: "{{URL::to('/property_type') }}",
dataType: "json",
data: {ptyname: prop_type},
success:function(row)
{
$('#getRequestdata').html(row.html);
}
});
});
})(jQuery);
</script>
像这样,我在控制台中获取数据
阵列(2){
[0]=>
对象(标准类)#293(24){
[“id”]=>int(3)
[“出售或租赁”]=>字符串(4)“出售”
[“物业类型”]=>字符串(11)“公寓”
[“property_room”]=>字符串(1)“2”
[“property_baths”]=>字符串(1)“2”
[“物业大小”]=>字符串(8)“200平方英尺”
[“property_garage”]=>字符串(1)“2”
[“财产年”]=>字符串(4)“1959”
[“物业楼层”]=>字符串(1)“4”
[“销售人”]=>字符串(5)“所有者”
[“物业价格”]=>字符串(7)“$200000”
[“phonenumber”]=>字符串(10)“9941661138”
[“地址”]=>字符串(47)“美国AK 99760内纳纳机场路610号”
[“lat”]=>字符串(10)“64.5486956”
[“日志”]=>字符串(12)“-149.0927984”
[“州”]=>字符串(6)“阿拉斯加”
[“城市”]=>字符串(6)“男性”
[“zipcode”]=>字符串(6)“600097”
[“description”]=>string(34)“这是我的财产……请与我联系”
[“image”]=>字符串(25)“2016-01-22-06-34-16-8.jpg”
[“amenties”]=>string(63)“空调、出口后清洁、洗碗机、烤架、互联网,”
[“用户id”]=>字符串(0)”
[“创建于”]=>string(19)“2016-01-22 07:53:05”
[“更新于”]=>string(19)“2016-01-22 07:53:05”
}
}您必须为视图分配响应,您应该创建一些div,在其中追加/替换响应 例如:在您的视图中,在选择下拉列表下创建div,如
(函数($){
$('#property_id')。在('change',function()上{
var optionSelected=$(this).find(“option:selected”);
var prop_type=optionSelected.val();
$.ajax({
键入:“获取”,
url:“{{url::to('pages/property_type')}}”,
数据类型:“json”,
数据:{ptyname:prop_type},
成功:功能(行)
{
警报(val);
//通过以下方式更新您的代码
//这将把响应分配给div
//
$(“#搜索响应”).html().html(行);
}
});
});
})(jQuery);
thanx用于回复…根据我的应用程序,当用户搜索任何位置时,它会在地图页面上重定向,并在地图和右侧边栏中显示结果,用户希望根据属性类型过滤属性,因此我的问题是如何删除现有div并在视图中显示过滤结果……您可以按类、id或标记删除或设置空div,例如$('#id')。remove()/empty()
或$('.class').empty()/删除()代码>我已经尝试过了,但它并没有返回对我的查看页面的响应,但在控制台中,当我使用$('.class').empty()时,我得到了结果;此代码然后div将永久隐藏…empty()
将删除您的dom元素内容,您必须重新分配它,例如:您的元素类或id名称为ajax content
,因此您可以执行此操作$('#ajax content').empty().html(行)代码>它将为您的divI分配新的内容我正在控制台中获取数据,但此错误来自ReferenceError:property#u type未定义,我应将此代码$('#ajax content').empty().html(行)放在何处;我已经在那个页面上放置了我的,但它并没有在视图部分返回任何结果
@if (session('status'))
<div class="alert alert-danger">
{{ session('status') }}
</div>
@endif
@foreach($row as $val)
<div class="property-box">
<div class="property-box-inner">
<div class="property-box-picture">
<div class="property-box-price">
<a href="#">{{$val->state}}</a></div>
<div>
<a href="#" class="property-box-picture-target">
<img src="../images/test/{{$val->image}}" />
</a>
</div>
</div>
<div class="property-box-meta" id='basic-modal'>
<div class="property-box-meta-item col-xs-3 col-sm-3">
<strong>{{$val->property_room}}</strong>
<span>Bedroom</span>
</div>
<div class="property-box-meta-item col-xs-3 col-sm-3">
<strong>{{$val->property_baths}}</strong>
<span>Bath</span>
</div>
<div class="property-box-meta-item col-xs-3 col-sm-3">
<strong>{{$val->property_size}}</strong>
<span>Area</span>
</div>
<div class="property-box-meta-item col-xs-3 col-sm-3">
<strong>{{$val->property_baths}}</strong>
<span>Garages</span>
</div>
<a href="{{ URL::to('pages/property_details', array('id'=>$val->id)) }}" class='basic'>More Details</a>
</div>
</div>
</div>
@endforeach
</div>
public function property_type()
{
$term=Input::get('ptyname');
$data = array();
$display = DB::table('property_details')
->where('property_type', 'LIKE', '%'.$term.'%')
->Where('sale_or_rent', '=', 'sale')
->get();
var_dump($display);
if(count($display)!=0)
{
return View::make('/pages/property_home', array('row'=>$display));
}
else
{
session::flash('status', 'No Records Found!!!');
return View::make('/pages/property_home', array('row'=>$display));
}
}
<script>
(function($) {
$('#property_id').on('change', function() {
var optionSelected = $(this).find("option:selected");
var prop_type = optionSelected.val();
$.ajax({
type: "GET",
url: "{{URL::to('/property_type') }}",
dataType: "json",
data: {ptyname: prop_type},
success:function(row)
{
$('#getRequestdata').html(row.html);
}
});
});
})(jQuery);
</script>
Route::get('/property_type', array('as' => 'property_type', 'uses' => 'PageController@property_type'));
<script>
(function($) {
$('#property_id').on('change', function() {
var optionSelected = $(this).find("option:selected");
var prop_type = optionSelected.val();
$.ajax({
type: "GET",
url: "{{URL::to('pages/property_type') }}",
dataType: "json",
data: {ptyname: prop_type},
success:function(row)
{
alert(val);
//update your code by this
// this will assign response to div
//<div id="search-response"> </div>
$("#search-response").html().html(row);
}
});
});
})(jQuery);