【发布时间】:2019-06-25 17:16:26
【问题描述】:
我在每个 li 中都有列表,我有输入字段,但是当我发送数据时无法获取这些输入的值
刀片
@foreach($options as $group => $option)
// another options here with name="dropdown" //
// And this data won't send
<div class="tt-swatches-container">
<div class="tt-wrapper">
<div class="tt-title-options">{{$group}}:</div>
<ul class="tt-list-inline tt-options-swatch options-large">
@foreach($option as $opt)
<li class="tt-list-inline-item">
<label for="{{$opt->id}}">
<input type="checkbox" name="{{$group}}" value="{{$opt->title}}" id="{{$opt->id}}" />
{{$opt->title}}
</label>
</li>
@endforeach
</ul>
</div>
</div>
@endforeach
结果
array:3 [▼
"_token" => "kanCHxEv96MWih4TaXTKSjHYu8gDdWs1YLDCWiv0"
"dropdown" => "title 44"
"quantity" => "1"
//here should be another option named color!
]
它上面的这个数据应该包含
name="{{$group}}",它是 值(在本例中为name="{{$group}}" == colors
有什么想法吗?
更新
我的表格
<form method="post" class="form-default" action="{{route('addingItem', $product->id)}}">
@csrf
@if(count($options)>0)
<!-- options -->
<div class="tt-swatches-container">
@foreach($options as $group => $option)
@if($group == 'color')
<div class="tt-wrapper">
<div class="tt-title-options">{{$group}}:</div>
<ul class="tt-list-inline tt-options-swatch options-large">
@foreach($option as $opt)
<li class="tt-list-inline-item">
<label style="background-color: {{$opt->color}}" class="options-color" for="{{$opt->id}}">
<input type="radio" name="{{$group}}" value="{{$opt->title}}" id="{{$opt->id}}" />
</label>
</li>
@endforeach
</ul>
</div>
@elseif($group == 'dropdown')
<div class="tt-swatches-container">
<div class="tt-wrapper">
<div class="tt-title-options">{{$group}}:</div>
<div class="form-group">
<select name="{{$group}}" class="form-control">
@foreach($option as $opt)
<option>{{$opt->title}}</option>
@endforeach
</select>
</div>
</div>
</div>
@else
<div class="tt-swatches-container">
<div class="tt-wrapper">
<div class="tt-title-options">{{$group}}:</div>
<ul class="tt-list-inline tt-options-swatch options-large">
@foreach($option as $opt)
<li class="tt-list-inline-item">
<label for="{{$opt->id}}">
<input type="checkbox" name="{{$group}}" value="{{$opt->title}}" id="{{$opt->id}}" />
{{$opt->title}}
</label>
</li>
@endforeach
</ul>
</div>
</div>
@endif
@endforeach
</div>
<!-- options -->
@endif
<div class="tt-wrapper">
<div class="tt-row-custom-01 tt-responsive-lg">
<div class="col-item">
<div class="tt-input-counter style-01">
<span class="minus-btn"></span>
<input type="text" name="quantity" value="1" size="5">
<span class="plus-btn"></span>
</div>
</div>
<div class="col-item">
<button type="submit" data-id="{{$product->id}}" class="btn btn-lg"><i class="icon-f-39"></i>ADD TO CART</button>
</div>
</div>
</div>
</form>
更新 2
$options的dd
Collection {#3133 ▼
#items: array:3 [▼
"color" => Collection {#3127 ▼
#items: array:2 [▶]
}
"dropdown" => Collection {#3128 ▼
#items: array:2 [▶]
}
"radio" => Collection {#3129 ▼
#items: array:3 [▶]
}
]
}
更新 3
外部 HTML
<form method="post" class="form-default" action="http://shopping.dev.com/addingItem/22">
<input type="hidden" name="_token" value="kanCHxEv96MWih4TaXTKSjHYu8gDdWs1YLDCWiv0">
<!-- options -->
<div class="tt-swatches-container">
<div class="tt-wrapper">
<div class="tt-title-options">color:</div>
<ul class="tt-list-inline tt-options-swatch options-large">
<li class="tt-list-inline-item">
<label style="background-color: #e74c3c" class="options-color" for="28">
<input type="radio" name="color" value="red" id="28">
</label>
</li>
<li class="tt-list-inline-item">
<label style="background-color: #2980b9" class="options-color" for="29">
<input type="radio" name="color" value="blue" id="29">
</label>
</li>
</ul>
</div>
<div class="tt-swatches-container">
<div class="tt-wrapper">
<div class="tt-title-options">dropdown:</div>
<div class="form-group">
<select name="dropdown" class="form-control">
<option>title 33</option>
<option>title 44</option>
</select>
</div>
</div>
</div>
<div class="tt-wrapper">
<div class="tt-title-options">radio:</div>
<ul class="tt-list-inline tt-options-swatch options-large">
<li class="tt-list-inline-item">
<label for="36">
<input type="checkbox" name="radio" value="hi" id="36">
hi
</label>
</li>
<li class="tt-list-inline-item">
<label for="37">
<input type="checkbox" name="radio" value="hii" id="37">
hii
</label>
</li>
<li class="tt-list-inline-item">
<label for="38">
<input type="checkbox" name="radio" value="bye" id="38">
bye
</label>
</li>
</ul>
</div>
</div>
</div>
<!-- options -->
<div class="tt-wrapper">
<div class="tt-row-custom-01 tt-responsive-lg">
<div class="col-item">
<div class="tt-input-counter style-01">
<span class="minus-btn"></span>
<input type="text" name="quantity" value="1" size="5">
<span class="plus-btn"></span>
</div>
</div>
<div class="col-item">
<button type="submit" data-id="22" class="btn btn-lg"><i class="icon-f-39"></i>ADD TO CART</button>
</div>
</div>
</div>
</form>
【问题讨论】:
-
也许你从来没有打过
else。你能dd($options)吗? -
@Mozammil 当然我会,但只是想知道我的图像我的视图中有所有 3 种类型的选项(颜色、选择、复选框),所以我也点击了其他部分。
-
@Mozammil 已更新
-
有趣。应该管用。你能给我们看看控制器吗?