这是我的刀片视图,其中列出了借方及其所有属性,例如ID,名称,地址。这也有一个模式查看按钮,弹出一个应该通过id查询借方的模式,然后显示其详细信息data-target="#viewModal" onclick='showDetail({{$var->id}});
(ajax_table.blade):
<?php
if(!empty($data)){$isi = json_decode($data);}
if(!empty($modaldata)){$isimodal = json_decode($modaldata);}
?>
@if(!empty($isi->data))
@foreach($isi->data as $var)
@include('userdebitur.ajax_modal_view')
<tr>
<td>{{ $var->id }}</td>
<td>{{ $var->name }}</td>
<td>{{ $var->address }}</td>
@endif
<td>
<div class="btn-group">
<button title="Detail Info" type="button" class="btn btn-default btn-flat" data-toggle="modal" data-target="#viewModal" onclick='showDetail({{$var->id}});'><i class="fa fa-eye"></i></button>
</div>
</td>
</tr>
@endforeach
@else
<tr><td align="center" colspan="5">Not found.</td></tr>
@endif
这是我从上方调用的模式文件(ajax_modal_view.blade):
<div class="modal fade" id="viewModal">
<div class="modal-dialog">
<div class="modal-content mdl-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span></button>
<h4 class="modal-title">Default Modal</h4>
</div>
<div class="modal-body">
<p>test @if(isset($isimodal)){var_dump($isimodal)} @endif</p> //I'm trying to output this
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
模态视图按钮也称为showDetail(),将借方ID作为变量传递,然后通过调用ajax.blade内部的函数从控制器返回数据:
function showDetail(id)
{
$.ajax({
type:"GET",
url: "{{ url('ajax/userdebitur/') }}"+"/"+id,
dataType: "json",
cache: false,
success: function(modaldata){
$("#viewModal").html(modaldata.view); //this is likely the problem
},
error: function (modaldata) {
//
}
});
}
这是我的控制器:
public function getdebitur($id)
{
$content = Debitur::find($id);
$modaldata['content'] = $content;
$modaldata['view'] = view('userdebitur.ajax_modal_view')->with('modaldata', json_encode($content))->render();
echo json_encode($modaldata);
}
在Web浏览器中使用控制台时,我已经成功检索了显示所有对象的选定借方数据,但是我似乎无法将任何信息传递给模式。 我试过将数据传递给ajax_table.blade本身,将模态移至ajax_table.blade内,传递数据时未从控制器获取视图,将json_decode($ modaldata)移至模态本身内,无济于事。
如果在ajax.blade中,我使用$("#viewModal").html(modaldata.view);
模态显示一秒钟,然后消失,但是如果我使用$("#viewModal").modal(modaldata.view);
或$("#viewModal").modal(modaldata);
则不显示$ isimodal值。
我想做的是:从控制器传递值并将var_dump放在模态中。
答案 0 :(得分:0)
我解决了这个问题。该错误是由模式在另一个模式中由ajax更新而不是替换整个模式引起的。
解决方案是从我的模式文件中删除<div class="modal fade" id="viewModal">
,然后它将正确呈现。