如何根据 laravel 中选定的下拉菜单显示 table 内容
How to show table content based on selected dropdown menu in laravel
这是视图,table
上方的下拉菜单
这是下拉菜单,我想将所选值赋予它 table 数据
<select class="form-control form-select" name="nomor_pertemuan" id="nomor_pertemuan">
<option value="">-</option>
@for($i=1; $i<11; $i++)
<option value={{ $i }}>{{ $i }}</option>
@endfor
</select>
这是table的内容,每行有两个复选框,只能选一个,我要检查每个输入,是否选中需要下拉值,我尝试过 ajax 但它似乎不起作用,因为我对此了解不多。
@foreach($kehadiran as $data)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $data->peserta->npm_peserta }}</td>
<td>{{ $data->peserta->nama_peserta }}</td>
<td style="text-align: center;" class="align-middle">
<input type="hidden" name="{{ 'k'.$loop->iteration }}" value="">
<input type="checkbox" class="{{ 'k'.$loop->iteration }} check" name="{{ 'k'.$loop->iteration }}" id="hadir" value="Hadir" {{ $data->{'pertemuan_'.$dropdown_value} == "Hadir" ? "Checked" : '' }}/>
</td>
<td style="text-align: center;" class="align-middle">
<input type="checkbox" class="{{ 'k'.$loop->iteration }} check" name="{{ 'k'.$loop->iteration }}" id="absen" value="Absen"/>
</td>
</tr> @endforeach
这是 table,如果您看到列名,这就是为什么我需要这个
的下拉值
{{ $data->{'pertemuan_'.$dropdown_value} == "Hadir" ? "Checked" : '' }}
那么我该怎么做才能从选定的下拉值中动态显示 table 数据,我需要该值才能将其提供给 table 数据,如您所见 $dropdown_value
我希望你能理解我的解释
经过讨论,OP不知道如何使用循环实现拥有数据库结构的复选框,并使用AJAX请求。
所以,我试着回答。
我没有太多时间解释AJAX,但我解释得合乎逻辑,所以OP可以使用AJAX来实现。
这是 pertemuan
下拉菜单:
<select class="form-control form-select" name="nomor_pertemuan" id="nomor_pertemuan">
<option value="">-</option>
@foreach(range(1, 10) as $pertemuan)
<option value={{ $pertemuan }}>Pertemuan {{ $pertemuan }}</option>
@endforeach
</select>
您可以将其用作查询字符串。您需要使用 jQuery 事件,或者您可以使用 AJAX 代替:
<script>
$(function(){
$('#nomor_pertemuan').on('change', function () {
var url = "{{ url()->current() }}?pertemuan=" + $(this).val();
if (url) {
window.location = url;
}
return false;
});
});
</script>
当 select 下拉菜单时,它会重定向到相同的 URL,但有一个查询字符串(根据您的选择)。您可以通过检索会议ID(ID pertemuan)进行查询。
然后,您可以 select 来自查询字符串的 pertemuan
列:
@foreach($kehadiran as $data)
<table>
<tr>
...
<td style="text-align: center;" class="align-middle">
<input type="hidden" name="{{ 'k' . request()->input('pertemuan') }}" value="">
<input type="checkbox" class="check" name="{{ 'k' . request()->input('pertemuan') }}" value="Hadir" {{ $data->{'pertemuan_'.request()->input('pertemuan')} == "Hadir" ? "Checked" : '' }}/>
</td>
...
</tr>
</table>
@endforeach
这是视图,table
上方的下拉菜单这是下拉菜单,我想将所选值赋予它 table 数据
<select class="form-control form-select" name="nomor_pertemuan" id="nomor_pertemuan">
<option value="">-</option>
@for($i=1; $i<11; $i++)
<option value={{ $i }}>{{ $i }}</option>
@endfor
</select>
这是table的内容,每行有两个复选框,只能选一个,我要检查每个输入,是否选中需要下拉值,我尝试过 ajax 但它似乎不起作用,因为我对此了解不多。
@foreach($kehadiran as $data)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $data->peserta->npm_peserta }}</td>
<td>{{ $data->peserta->nama_peserta }}</td>
<td style="text-align: center;" class="align-middle">
<input type="hidden" name="{{ 'k'.$loop->iteration }}" value="">
<input type="checkbox" class="{{ 'k'.$loop->iteration }} check" name="{{ 'k'.$loop->iteration }}" id="hadir" value="Hadir" {{ $data->{'pertemuan_'.$dropdown_value} == "Hadir" ? "Checked" : '' }}/>
</td>
<td style="text-align: center;" class="align-middle">
<input type="checkbox" class="{{ 'k'.$loop->iteration }} check" name="{{ 'k'.$loop->iteration }}" id="absen" value="Absen"/>
</td>
</tr> @endforeach
这是 table,如果您看到列名,这就是为什么我需要这个
的下拉值{{ $data->{'pertemuan_'.$dropdown_value} == "Hadir" ? "Checked" : '' }}
那么我该怎么做才能从选定的下拉值中动态显示 table 数据,我需要该值才能将其提供给 table 数据,如您所见 $dropdown_value 我希望你能理解我的解释
经过讨论,OP不知道如何使用循环实现拥有数据库结构的复选框,并使用AJAX请求。
所以,我试着回答。
我没有太多时间解释AJAX,但我解释得合乎逻辑,所以OP可以使用AJAX来实现。
这是 pertemuan
下拉菜单:
<select class="form-control form-select" name="nomor_pertemuan" id="nomor_pertemuan">
<option value="">-</option>
@foreach(range(1, 10) as $pertemuan)
<option value={{ $pertemuan }}>Pertemuan {{ $pertemuan }}</option>
@endforeach
</select>
您可以将其用作查询字符串。您需要使用 jQuery 事件,或者您可以使用 AJAX 代替:
<script>
$(function(){
$('#nomor_pertemuan').on('change', function () {
var url = "{{ url()->current() }}?pertemuan=" + $(this).val();
if (url) {
window.location = url;
}
return false;
});
});
</script>
当 select 下拉菜单时,它会重定向到相同的 URL,但有一个查询字符串(根据您的选择)。您可以通过检索会议ID(ID pertemuan)进行查询。
然后,您可以 select 来自查询字符串的 pertemuan
列:
@foreach($kehadiran as $data)
<table>
<tr>
...
<td style="text-align: center;" class="align-middle">
<input type="hidden" name="{{ 'k' . request()->input('pertemuan') }}" value="">
<input type="checkbox" class="check" name="{{ 'k' . request()->input('pertemuan') }}" value="Hadir" {{ $data->{'pertemuan_'.request()->input('pertemuan')} == "Hadir" ? "Checked" : '' }}/>
</td>
...
</tr>
</table>
@endforeach