首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 7-取消选中AJAX中的复选框

问Laravel 7-取消选中AJAX中的复选框
EN

Stack Overflow用户
提问于 2022-01-10 07:06:08
回答 2查看 182关注 0票数 0

我不太擅长ajax。我想取消选中“活动”用户的复选框。

我的LoginController里有这个

代码语言:javascript
复制
     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']));
            }
        }

  • 索引视图:

代码语言:javascript
复制
  @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数据库中,我在表'users‘中添加了'tinyint(1)’类型的'active‘列。我在视图中添加了它,其中用户'admin‘可以启用或禁用带有复选框的用户。我不明白如何确保如果不检查它,则值更改为0。复选框不是在表单中,而是在作为列的“我的索引”中。有人能帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2022-01-10 07:25:28

我想你把圆括号忘在那个条件下了

代码语言:javascript
复制
<input {{((int)$user->active==1)?'checked':''}} type="checkbox" name="active" value="1">

如果不是,这就是您所要寻找的,而且活动属性总是为false,可能您忘记了在模型用户中添加活动属性。

票数 1
EN

Stack Overflow用户

发布于 2022-01-10 07:17:36

代码语言:javascript
复制
<element id="blabla" onclick="uncheck()" />

联署材料:

代码语言:javascript
复制
getElementById(blabla)
blabla.checked = true/false

PHP:

代码语言:javascript
复制
DB::table('tablename')->update(['checkbox' => 0/1]);

此外,如果使用布尔值而不是整数,则更好,因为它是您所需要的真正类型,而且更简单、更符合逻辑,而且可能更安全

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70648841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档