从数据库中获取值并在 Laravel 中单击按钮时以表单形式显示它
Posted
技术标签:
【中文标题】从数据库中获取值并在 Laravel 中单击按钮时以表单形式显示它【英文标题】:Fetching values from database and showing it in a form upon button click in Laravel 【发布时间】:2020-11-11 04:50:07 【问题描述】:我们有一个表,其内容是从数据库中获取的。现在,我们想用在 Laravel 中被点击的表格的相关行的数据来填充一个表格。
This is how the table (left) and the form looks
表格代码:
<table id="category_table" class="table table-bordered table-hover">
<thead>
</thead>
<tbody>
@foreach($cat as $c)
<tr>
<?php $index=1;?>
<td>$c->cat_name</td>
<td ><button class="btn btn-info" onclick=fill(this)><i class="fa fa-arrow-right"></i></button>
</tr>
<?php $index=$index+1;?>
@endforeach
</tbody>
<tfoot>
</tfoot>
</table>
这是表单代码的一部分:
<div class="card-body">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" placeholder="Enter Name" value="">
</div>
<div class="form-group">
<label for="short_name">Short Name</label>
<input type="text" class="form-control" id="short_name" placeholder="Short Name">
</div>
<div class="form-group">
<label for="description">Description</label>
<textarea class="form-control" id="description" placeholder="Description"></textarea>
</div>
这是获取选定表行值的 javascript 部分,我们需要通过它从数据库中获取其他值到表单中:
<script type="text/javascript">
function fill(e)
var $item = $(e).closest("tr").find("td:first").text();
document.getElementById("name").value= $item;
</script>
【问题讨论】:
【参考方案1】:你可以这样做:
<button class="btn btn-info" data-model='$c->toJson()' onclick="fill()">
// then in js something like
function fill()
let $item = $(this).attr("data-model");
console.log($item); // item should have all the data
编辑:
提问者没有使用 Laravel Eloquent 模型。这就是为什么在这种情况下,解决方案会像这样处理普通的 php 对象:
data-model=' json_encode($c)'
【讨论】:
我们尝试添加您建议的 sn-p,但收到错误“调用未定义方法 stdClass::toJson()” 那么您没有使用 Laravel Eloquent 模型,我强烈建议您这样做。无论如何,在你的情况下尝试 data-model=' json_encode($c) ' 你总是可以通过接受和支持来感谢我;)谢谢!以上是关于从数据库中获取值并在 Laravel 中单击按钮时以表单形式显示它的主要内容,如果未能解决你的问题,请参考以下文章