如何将Laravel表中的多个复选框保存到数据库中?

时间:2019-07-16 07:15:15

标签: javascript jquery mysql laravel

  1. 当我单击Submit函数时,如何创建Javascript函数以将所选复选框保存到数据库中?

在laravel控制器中,我知道如何保存它。

我只想知道函数如何将数据从视图传递到javascript?

``

<div class="table-responsive">
<button style="margin-bottom: 10px" class="btn btn-primary submitDatabase" data-url="">Submit to database</button>
  <table class="table table-hover">
        <thead>
            <tr>
              <th width="50px"><input type="checkbox" id="checkBox"></th>
              <th>ID</th>
              <th>Approved Date</th>
              <th>Name</th>
              <th>NRIC</th>
              <th>Hospital</th>
              <th>Condition</th>
              <th>Cancer Type</th>
              <th>Action</th>
            </tr>
          </thead>
          <tbody>
              @foreach($datas as $item)
              <tr>
                  <td><input type="checkbox" class="singleSelectBox" data-id="{{$item->id}}"></td>
                  <td>{{$item->id}}</td>
                  <td>{{date('d-m-Y',strtotime($item->dtDecidedOn))}}</td>
                  <td>{{$item->varNm}}</td>
                  <td>{{$item->varIdNumber}}</td>
                  <td>{{$item->varHospitalNm}}</td>
                  <td>{{$item->varPrognosesNm}}</td>
                  <td>{{$item->varCancerNm}}</td>
                  <td><button class="btn btn-primary btn-sm reprint" id="{{$item->id}}" value="#">View</button></td> 
                </tr>
                </tbody>
                @endforeach
  </table>
</div>

我希望如果全选,则所有选择的数据都将保存在数据库中。

如果选择了单行数据,则数据将保存在数据库中。

1 个答案:

答案 0 :(得分:0)

在网络文件中

Route::post('checkedids','TestController@getCheckedIds')->name('postCheckedids');

然后

<td><input data-route="{{route('postCheckedids')}}" type="checkbox" class="singleSelectBox" name"singleBox" data-id="{{$item->id}}"></td>

脚本代码

     $('.singleSelectBox').change(function (e) {
         var route  = $(this).attr('data-route');
         var checked = [];
         $.each($("input[name='singleBox[]']:checked"), function(){
             checked.push($(this).val());
         });
         if (checked.length==0){
               return;
         }

         $.ajax({
             type:'post',
             url :route,
             dateType:'json',
             data:{checked:checked},
             success: function (data){
                 if (data.status==true){
                   console.log(data)
                 }else{
                 }
             },error:function(){
                 alert('error,try again');
             }
         });
    });

然后在我们的控制器中使用您的方法

public function getCheckedIds(Request $request){
$ids = $request->ids;
}