如何与 Laravel 同时使用 "paginate ()" 和清单?
How can I use "paginate ()" and checklist at the same time with Laravel?
我有一个 table 必须在其中输入数据,但是当我尝试存储数据时使用 paginate() 时,只存储当前页面而不是之前编辑的页面。它只发生在复选框上。
public function update(Request $request)
{
$pensums = sizeof($request->input('course_id'));
$id = $request->input('grade_id');
$course_id = $request->input('course_id');
$data = Pensum::where('grade_id', $id)
->update([
'status' => 'INACTIVE',
]);
for ($i = 0; $i < $pensums; $i++) {
$data = Pensum::where('grade_id', $id)
->where('course_id', $course_id[$i])
->update([
'status' => 'ACTIVE',
]);
}
$grade_id = $request->input('grade_id');
return redirect()->action('PensumController@detail', ['grade_id' => $grade_id])
->with(['status' => 'Successful upgrade']);
}
当您使用分页 Laravel 刷新页面时,您选中的复选框不再保持选中状态。
您的复选框输入标签应如下所示
<input value="" type="checkbox" name="" class="mobile_hide"
onchange="loadingIdChange(this,'You have the pass id here')" '+(isChecked ? 'checked' : '')+'/>
您需要检查数组 selectedCheckboxes。
var isChecked = isIdAlreadyAdded(data[0],selectedCheckboxes);
您应该使用 jQuery 将选中的复选框存储到数组中。
var selectedCheckboxes = []; //Array where you store checked checkbox IDs.
只要选中或取消选中复选框,就会调用此函数。
function checkboxChange(checkbox, id){
if(checkbox.checked == true){
if(!isIdAlreadyAdded(id,selectedCheckboxes)){
selectedCheckboxes.push(id);
}
}else{
removeIfExits(id,selectedCheckboxes);
}
}
此函数将检查数组 selectedCheckboxes 中的 ID。
function isIdAlreadyAdded(id,arr){
for(var i=0;i<arr.length;i++){
if(arr[i] == id){
return true;
}
}
return false;
}
此函数用于在未选中复选框状态时删除 ID。
function removeIfExits(id,arr){
for(var i=0;i<arr.length;i++){
if(arr[i] == id){
delete arr[i];
return;
}
}
}
希望这会有所帮助。
我有一个 table 必须在其中输入数据,但是当我尝试存储数据时使用 paginate() 时,只存储当前页面而不是之前编辑的页面。它只发生在复选框上。
public function update(Request $request)
{
$pensums = sizeof($request->input('course_id'));
$id = $request->input('grade_id');
$course_id = $request->input('course_id');
$data = Pensum::where('grade_id', $id)
->update([
'status' => 'INACTIVE',
]);
for ($i = 0; $i < $pensums; $i++) {
$data = Pensum::where('grade_id', $id)
->where('course_id', $course_id[$i])
->update([
'status' => 'ACTIVE',
]);
}
$grade_id = $request->input('grade_id');
return redirect()->action('PensumController@detail', ['grade_id' => $grade_id])
->with(['status' => 'Successful upgrade']);
}
当您使用分页 Laravel 刷新页面时,您选中的复选框不再保持选中状态。
您的复选框输入标签应如下所示
<input value="" type="checkbox" name="" class="mobile_hide"
onchange="loadingIdChange(this,'You have the pass id here')" '+(isChecked ? 'checked' : '')+'/>
您需要检查数组 selectedCheckboxes。
var isChecked = isIdAlreadyAdded(data[0],selectedCheckboxes);
您应该使用 jQuery 将选中的复选框存储到数组中。
var selectedCheckboxes = []; //Array where you store checked checkbox IDs.
只要选中或取消选中复选框,就会调用此函数。
function checkboxChange(checkbox, id){
if(checkbox.checked == true){
if(!isIdAlreadyAdded(id,selectedCheckboxes)){
selectedCheckboxes.push(id);
}
}else{
removeIfExits(id,selectedCheckboxes);
}
}
此函数将检查数组 selectedCheckboxes 中的 ID。
function isIdAlreadyAdded(id,arr){
for(var i=0;i<arr.length;i++){
if(arr[i] == id){
return true;
}
}
return false;
}
此函数用于在未选中复选框状态时删除 ID。
function removeIfExits(id,arr){
for(var i=0;i<arr.length;i++){
if(arr[i] == id){
delete arr[i];
return;
}
}
}
希望这会有所帮助。