我是 Laravel 新手。我使用 @foreach 制作一个从数据库获取数据的表。我想让数据库值 1 和 0 显示为“事件”和“非事件”等字样。但是,我编写的 JavaScript 只显示第一列(如下面的输出图像所示)。有没有办法让脚本适用于整个表?谢谢!
<tbody>
@foreach ($data as $row)
<tr>
<td> {{ $row->id }}</td>
<td> {{ $row->name }}</td>
<td> {{ $row->description }}</td>
<td id=statust> {{ $row->status }}</td>
<td id="defaulttt"> {{ $row->default }}</td>
<td><a href="{{action('DetailTestController@edit',$row->id)}}" class="btn btn-warning">EDIT</a></td>
<td>
<form method="post" class="delete_form" action="{{action('DetailTestController@destroy', $row['id'])}}">
{{csrf_field()}}
<input type="hidden" name="_method" value="DELETE"/>
<button type="submit" class="btn btn-danger">Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
Javascript
function checkshow() {
if (document.getElementById("statust").innerHTML == 1) {
document.getElementById("statust").innerHTML = "Active";
} else {
document.getElementById("statust").innerHTML = "Inactive";
}
return;
}
最佳答案
我不确定为什么你要为此目的涉及 js 片段。事实上,在这种情况下,您可以简单地使用三元。
Blade 模板将理解此简写 if else(三元运算符):
<tbody>
@foreach ($data as $row)
<tr>
<td> {{ $row->id }} </td>
<td> {{ $row->name }} </td>
<td> {{ $row->description }} </td>
<td> {{ ($row->status == 1) ? 'Active' : 'Inactive' }} </td>
<td id = "defaulttt"> {{ $row->default }} </td>
<td><a href="{{action('DetailTestController@edit',$row->id)}}" class="btn btn-warning">EDIT</a></td>
<td>
<form method="post" class="delete_form" action="{{action('DetailTestController@destroy', $row['id'])}}">
{{csrf_field()}}
<input type="hidden" name="_method" value="DELETE" />
<button type="submit" class="btn btn-danger">Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
JS 的旁注:如果您尝试应用多个操作实例,则 class
更适合此任务,而不是 id
s
关于javascript - 循环遍历单个 <td> 元素 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60426108/