使用Laravel为foreach循环中的每个复选框创建一个表单

时间:2019-06-21 20:47:58

标签: html database laravel

我试图为foreach项目内的每个项目(复选框)创建一个表单,并在每次检查该项目时将其保存到数据库中。 我的问题是什至我在foreach循环中创建了一个表单,所以每个项目都有自己的表单;当我检查元素时,我发现所有项目都包含在同一表格中,只有第一个选中的元素保存到数据库中

这是我的代码,以便为每个项目创建一个表单

@foreach($sessions as $session)
<h1> {{$session->quarter}} {{$session->year}} </h1>
@foreach($courses as $course)                  
    @if($session->id==  $course->quarterIDFk)
    <form action="{{route('course.add')}}" method="POST" id="report" > 
    <div class="aa">
    <div class="dd">
    <button >
    <section class="checkboxFour">
    <input hidden type="checkbox"  id="{{ $course->id}}" name="{{$course->id}}" onclick="showComboBox(id)"; />
    <label for="{{ $course->id}}"></label>
    </section>
    </button>
    <label class="class_name" value ="{{ $course->id}}" >{{ $course->courseNumber}}</label>
    <input hidden type="number" value="{{ $course->id}}"  name ="course"/>
    </div>

                        <div class="select-style" id="check{{ $course->id}}" hidden >
                            <select name="a">
                            <option value="" selected disabled hidden>Taken on </option>
                            <option value="Summer">Summer</option>
                            <option value="Fall">Fall</option>
                            <option value="Winter">Winter</option>
                            <option value="Spring">Spring</option>
                            </select>
                        </div>

                    </div>


                <!-- The Modal -->
                <div class="modal" id="myModal">
                <div class="modal-dialog">
                    <div class="modal-content">
                    <!-- Modal Header -->
                    <div class="modal-header">
                        <h4 class="modal-title">Modal Heading</h4>
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
                    </div>

                    <!-- Modal body -->
                    <div class="modal-body">
                        Modal body..
                    </div>

                    <!-- Modal footer -->
                    <div class="modal-footer">
                        <button type="button" class="btn btn-danger" data-dismiss="modal" >Close</button>
                        <button type="button" class="btn btn-success" onclick="hideComboBox({{ $course->id}})" data-dismiss="modal">Yes</button>
                    </div>

                    </div>
                </div>
                </div>
            @endif

        @endforeach
        </from>
    @endforeach

并且我使用了这个Ajax脚本,所以当我单击“提交”按钮

时,该页面不会加载
<script>
    $(function () {
        $('#report').submit(function (e) {
            e.preventDefault()  // prevent the form from 'submitting'

            var url = e.target.action  // get the target
            var formData = $(this).serialize() // get form data
            $.post(url, formData, function (response) { // send; response.data will be what is returned
                //  alert('report sent')
            })
        })
    })
</script>

这是控制器功能,用于将选中的项目存储到数据库中

 public function store(Request $request)
{
    if(!empty($request->a))
    {
    $claass = new Taken_classes  ; 
    $claass->idUser  = Auth::user()->id ; 
    $claass->idCourse  = $request->course;
    // $claass->idCourse  = 12;
    $claass->taken_session  =  $request->a;
    $claass->save() ; }

我希望将每个选中的项目保存到数据库中,但是只保存第一个选中的项目

0 个答案:

没有答案