Umgang mit Mehrfachauswahl-Dropdown-Formularen für jede Zeile bei der Implementierung dynamischer Formularspeicherung in Laravel
P粉301523298
P粉301523298 2023-08-31 10:43:09
0
1
549
<p>In meinem Formular habe ich eine dynamische Tabelle mit Mehrfachauswahl-Dropdowns „color_id[]“ und „size_id[]“ mit demselben Namen in jeder Zeile. Ich weiß nicht, wie ich mehrere ausgewählte Werte als durch Kommas getrennte Werte in jeder in der Datenbank gespeicherten Zeile speichern kann. Ich habe hier versucht, in der Datenbank zu speichern, aber es hat nicht funktioniert. </p> <p>HTML-Code: </p> <pre class="brush:php;toolbar:false;"><table><tbody><td><select name="color_id[]" ;color_id" style="width:200px;" required multiple></select></td> <select name="size_id[]" select2" id="size_id" style="width:200px;" required multiple></tbody> <p>Laravel-Code im Controller gespeichert:</p> <pre class="brush:php;toolbar:false;">$class_ids = $request->input('class_ids'); for($x=0; $x<count($class_ids); $x++) { #Code... $color_ids = implode(',', $request->color_id[$x]); $size_ids = implode(',', $request->size_id[$x]); $data3[]=array( 'bom_code'=>$TrNo, 'bom_date'=>$request->bom_date, 'cost_type_id'=>$request->cost_type_id, 'Ac_code'=>$request->Ac_code, 'season_id'=>$request->season_id, 'currency_id'=>$request->currency_id, 'item_code' => $request->item_codes[$x], 'class_id' => $request->class_ids[$x], 'description' => $request->descriptions[$x], 'color_id' => $color_ids, 'size_array' => $size_ids, 'Verbrauch' => $request->Verbrauch[$x], 'unit_id'=> $request->unit_ids[$x], 'rate_per_unit' => $request->rate_per_units[$x], 'wastage' => $request->wastages[$x], 'bom_qty' => $request->bom_qtys[$x], 'total_amount' => $request->total_amounts[$x], ); } BOMSewingTrimsDetailModel::insert($data3);</pre>
P粉301523298
P粉301523298

Antworte allen(1)
P粉098417223

我在每一行的相同列中添加了两个隐藏的输入框,名称分别为color_arrays[]和size_arrays[]。我编写了以下的JavaScript函数,用于从颜色和尺寸的多选下拉框中获取逗号分隔的值,并将隐藏输入框的值保存到数据库。

$(document).on('change', 'select[name^="color_id[]"],select[name^="size_id[]"]', function(){CalculateQtyRowPros2($(this).closest("tr"));});

function CalculateQtyRowPros2(row){   
var color_id=row.find('select[name^="color_id[]"]').val().join(",");
var size_id=row.find('select[name^="size_id[]"]').val().join(",");
row.find('input[name^="color_arrays[]"]').val(color_id);
row.find('input[name^="size_arrays[]"]').val(size_id);}

这对我起作用。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage