问题是,each的Extraoptions起作用了,但是它显示了所有eos_name
字段,而不仅显示了具有相同eos_extra_id
的字段。
我希望它如何工作:
我想首先选择只显示eos_name
字段,
eos_extra_id
(共30个),然后当出现另一个复选框时,我希望该选项显示eos_name
,其中id高一个。
对不起,如果我不能很好地解释它。 有人知道如何解决这个问题吗?预先感谢!
html
<label>Opties</label>
<br>
@foreach($options as $option)
<div>
<input type="checkbox"
class="option"
id="option_{{ $optie->exa_id }}"
name="option_{{ $option->exa_id }}"
value="{{ $option->exa_id }}"
{{
isset($cache)
? (isset($cache['option_' . $option->exa_id]) ? 'checked' : '')
: (
old()
? (old('option_' . $option->exa_id) ? 'checked' : '')
: ($registration
? (
in_array($registration->exa_id, $registration_options)
? 'checked'
: ''
)
: '')
)
}}>
<input type="hidden" value="{{ $option->exa_price }}" class="option_price_{{ $option->exa_id }}">
<label>{{ $option->exa_name }}</label>
<label> €{{ $option->exa_price }}</label>
</div>
<select name="extraoptions" class="form-control">
@foreach($extraoptions as $extraoption)
<option value="{{ $extraoption->eos_id }}">{{ $extraoption->eos_name }}</option>
@endforeach
</select>
@endforeach
RegistrationController
//options
$options_ids_array = array();
$options = Extra::all();
foreach($options as $option){
$option->exa_id = "option_" . $option->exa_id;
$input_option = $option->exa_id;
if(!is_null($input_option)){
$options_ids_array[] = $input_option;
}
}
$registration->dev_option_id = implode(",", $options_ids_array);
$registration->save();
//extra options
$extraoptions_ids_array = array();
$extraoptions = ExtraOptie::all();
foreach($extraoptions as $extraoption){
$extraoption->eos_id = "extraoption_" . $extraoption->eos_id;
$input_extraoption = $extraoption->eos_id;
if(!is_null($input_extraoption)){
$extraoptions_ids_array[] = $input_option;
}
}
$registration->dev_option_id = implode(",", $extraoptions_ids_array);
$registration->save();
答案 0 :(得分:-1)
我不确定,但请尝试让我知道会发生什么情况
在控制器中
public function view()
{
$options = Extra::all();
$extraoptions = ExtraOptie::all();
return view('yourbladefrom',compact('extraoptions','options'))
}
public function store(Request $request)
{
$option = new Extra;
$options->name=$request->name;//your product name
$options->price=$request->price;//your product price
$options->save();
$extraoptions = new ExtraOptie;
$extraoptions->eos_id=$request->eos_id;
$extraoptions->save();
}
可见
@foreach($options as $option)
<input type="checkbox" id="check" value="{{ $option->name }}">{{ $option->name}}</option>
@endforeach
<select name="eos_extra_id" class="form-control" id="select">
@foreach($extraoptions as $extraoption)
<option value="{{ $extraoption->eos_extra_id }}">{{ $extraoption->eos_name }}</option>
@endforeach
</select>
为此使用一个jQuery
<script>
$(function(){
$("#check").on('change',function() {
if (!$(this).is(':checked')) {
$("#select").prop('disabled', 'disabled');
} else {
$("#select").prop('disabled', false);
}
});
});
</script>
尝试一下,让我知道,或者如果我做错了事,也让我知道