2 回答

TA貢獻1859條經(jīng)驗 獲得超6個贊
您必須首先解碼 JSON 字符串,然后使用 @foreach 來制作選擇框。雖然我不知道你想做什么,因為選擇框選項的值對于知道哪個價格屬于哪個很重要。但這是您想要的代碼:
@php
$js = '{
"option":["Size","Color"],
"values":["L|M|S","Red|Green|Black"],
"price":["9000|8000|6000","9000|8000|6000"]
}';
$js = json_decode($js);
@endphp
@foreach($js->option as $index => $option)
<select name="{{$option}}" id="{{$option}}">
@php
$values = $js->values[$index];
$values = explode('|',$values);
$prices = $js->price[$index];
$prices = explode('|',$prices);
@endphp
<option disabled selected>{{$option}}</option>
@foreach($values as $indx => $value)
<option value="{{$prices[$indx]}}">{{$value}} {{$prices[$indx]}}$</option>
@endforeach
</select>
@endforeach
通常,您必須發(fā)送一個產(chǎn)品對象來查看,然后在此處使用該對象的屬性。然后您必須在選項的值中添加產(chǎn)品的 id。檢測用戶嘗試購買的產(chǎn)品是什么。

TA貢獻2019條經(jīng)驗 獲得超9個贊
為此創(chuàng)建 Halper 方法。
$jsonString = '{
"option":["Size","Color"],
"values":["L|M|S","Red|Green|Black"],
"price":["9000|8000|6000","9000|8000|6000"]
}';
print_r(createItemAttributes($jsonString, $valueSpliter = '|'));
function createItemAttributes($jsonString, $valueSpliter = '|'){
$itemAttributes = json_decode($jsonString);
$options = [];
foreach($itemAttributes->option as $key => $value){
$options[$value] = explode('|',$itemAttributes->values[$key]);
}
$html = [];
foreach($options as $option => $values ){
$selectStart = '<select name="'.$option.'">';
$selectEnd = '</select>';
$valueString = '';
foreach($values as $value){
$valueString .= '<option value="'.$value.'">'.$value.'</option>';
}
$html[$option] = $selectStart.$valueString.$selectEnd;
}
return $html;
}
?>
- 2 回答
- 0 關(guān)注
- 390 瀏覽
添加回答
舉報