[英]Check if all dynamic radio buttons are checked before submit
我不確定在提交表單之前如何檢查來自DB的所有動態單選按鈕。 我正在一個預訂項目上,線索是關於食品包裝和分包裝的。 根據客戶選擇的套餐,客戶將像單選按鈕一樣在提交並進入預訂視圖之前檢查想要的菜式。 如果未選擇所有產品(每個類別1個),則無法提交表單。我的觀點:
{!! Form::open(array('route' => ['continue_pacakage_booking',$sub_package->id],'id' => 'form','class'=>'form-horizontal','novalidate' => 'novalidate','role' => 'form', 'enctype' => 'multipart/form-data', 'onsubmit' => "validateForm()")) !!}
@foreach($dishes_and_categories as $key=>$dishes_and_category)
<section style="padding: 70px 50px">
<div class="container"style="border-bottom: 10px solid #F0F0F0" >
<div class="row">
<!-- section title -->
<div class="col-md-12 text-center">
<span class="title-small text-uppercase letter-spacing-3 font-weight-600" style=" color: #da7e57;">{{$dishes_and_category['category_name']}}</span>
<div class="separator-line-thick bg-black no-margin-bottom margin-one xs-margin-top-five"></div>
</div>
<!-- end section title -->
</div>
<section class="wow fadeIn blog-details-text" style="padding-top: 30px;padding-bottom: 30px">
<div class="container">
@foreach($dishes_and_category['dishes'] as $dish)
<div class="col-md-4 col-sm-6">
<label>
<input type="radio" @if($dishes_and_category['id_category'] == 6) disabled @endif name="{{$dishes_and_category['id_category']}}" value="{{$dish->id}}" />
<img src="http://develop.almotech.org/restaurant/restaurant_panel/public/attachment/dishes/{{$dish->image}}" style="border-radius: 50%;height: 250px;width: 100%">
<p style="text-align: center; font-weight: bold" class="text-uppercase">{{$dish->name}}</p>
</label>
</div>
@endforeach
</div>
</section>
</div>
</section>
@endforeach
<div class="col-md-12">
<button class="highlight-button btn btn-large btn-round button xs-margin-bottom-five" type="submit" id="select_table" name="select_table" style="margin-left: 805px; width: 278px; margin-bottom: 20px">Continua Prenotare</button>
</div>
{!! Form::close() !!}
和我的控制器:
public function show($id)
{
$sub_package = Sub_Packages::find($id);
$id_package = $sub_package->id_package;
$selected_categories = DB::select('SELECT c.id as id_category , c.name as category_name FROM sub_packages_dishes s LEFT JOIN packages_menu_categories c ON s.id_package_menu_category = c.id WHERE s.id_sub_package = '.$id.' GROUP BY s.id_package_menu_category');
$dishes_and_categories = array();
foreach ($selected_categories as $selected_category)
{
$dishes = DB::select('SELECT s.id AS id_pmcd , d.id , d.name ,d.image FROM `sub_packages_dishes` s LEFT JOIN `dishes` d ON s.id_dish = d.id WHERE s.id_sub_package ='.$id.' AND s.id_package_menu_category ='.$selected_category->id_category);
$object=
[
'id_category' => $selected_category->id_category,
'category_name' =>$selected_category->category_name,
'dishes' => $dishes
];
array_push($dishes_and_categories,$object);
}
return view('package.view_sub_package',['id_package' =>$id_package ,'sub_package' =>$sub_package,'dishes_and_categories' =>$dishes_and_categories]);
}
您可以使用jQuery函數的組合(不是-http://api.jquery.com/not/ ,有-http://api.jquery.com/has/ )來幫助您。
if ($('#testForm:not(:has(:radio:checked))').length) {
alert('Not all checked');
}
這是我創建的示例http://codepen.io/ltong/pen/dOLmoa 。
您需要更改按鈕表單的名稱。
name="{{$dishes_and_category['id_category']}}
至
name="buttons[{{$dishes_and_category['id_category']}}]"
然后,您可以在
In the controller request->input('buttons');
或JavaScript中的foreach
var radios = document.getElementsByName( buttons);
for( i = 0; i < radios.length; i++ ) {
if( radios[i].checked ) {
do somthing
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.