簡體   English   中英

Laravel 7 - 取消選中帶有 AJAX 的復選框

[英]Laravel 7 - Uncheck the checkbox with AJAX

我不太擅長 ajax。 我想取消選中“活動”用戶的復選框。

  • 我的 LoginController 中有這個

 public function login()
        {
            $credentials = $this->validate(request(), [
                'email' => 'email|required|string',
                'password' => 'required|string',
            ]);
    

        if (Auth::attempt($credentials)) { //auth attemptdevuelve verdadero o falso en caso de que las credenciales correspondan o no
            //Inician cambios RDAN
            $user = Auth::user();
          if($user->active)  // checking your user is active or not
        {
            if ($user->hasRole('admin')) {
                return redirect('main');
            } else if ($user->hasRole('externo')) {
                return redirect('es/user_form');
            } else if ($user->hasRole('profesor')) {
                return redirect('main');
            } else if ($user->hasRole('registrador')) {
                return redirect('select_lang');
            } else {
                return back()->withErrors(['email' => 'Incorrect user permissions'])
                    ->withInput(request(['email']));
            }
          }
           else
          {
              Auth::logout(); //to logout user
        return back()->withErrors(['email' => 'Account Deactivated please contact admin'])->withInput(request(['email'])); // error message if user deactivated.
              }
            //Terminan cambios RDAN

        } else {
            return back()->withErrors(['email' => 'Incorrect user permissions'])
                ->withInput(request(['email']));
        }
    }
  • 索引視圖:
 

     @foreach($users ?? '' as $user)   
          <tr>
             <td class="small  text-center">{{$user->name}}</td>
             <td class="small  text-center">{{$user->email}}</td>
             <td class="small  text-center">
             @foreach($user->roles as $role)
                {{$role->nombre_rol. '-'. ' '}}
             @endforeach
             </td>
    
             <td class="small  text-center">
                 <input {{$user->active=='1'?'checked':''}} type="checkbox" name="active" value="1">
              </td>
    
              <td class="small  text-center">
                  <div class="row">
                       <div >
                          <!--VIEW-->
                          <button onclick="verUsuario({{$user->id}})" class="btn btn-sm btn-outline-success m-1">
                           <i class="bi bi-eye align-content-center"></i>
                          </button>
                      </div>    
                       <div >
                           <!--EDIT-->
                           <button onclick="editarUsuario({{$user->id}})" class="btn btn-sm btn-outline-warning m-1">
                             <i class="bi bi-pencil-fill align-content-center"></i>
                            </button>
                            </div>
                               <!--Delete-->
                               <form id="delete"  action="{{url('Usuario/'.$user->id)}}" method="post">
                                {{csrf_field()}}
                                {{method_field('DELETE')}}
                                 <button type="submit" onclick="return confirm('Va a borrar la usuario {{$user->name}} ¿está seguro?')" class="btn btn-sm btn-outline-danger m-1"><i class="bi bi-trash-fill align-content-center"></i></button>
                             </form>
                          </div>
                      </td>
                  </tr>
          @endforeach

在 MySQL 數據庫中,我在“用戶”表中添加了“tinyint(1)”類型的“活動”列。 我將它添加到用戶“管理員”可以使用復選框啟用或禁用用戶的視圖中。 我不明白如何確保如果未檢查 0 的值更改。復選框不在表單中,它在我的索引中作為一列。 有人能幫我嗎?

如果您使用的是小整數,請嘗試此操作。

<td class="small  text-center">
  <input {{$user->active == 1 ?'checked':''}} type="checkbox" name="active" value="1">
</td>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM