Heim  >  Fragen und Antworten  >  Hauptteil

Umgang mit Mehrfachauswahl-Dropdown-Formularen für jede Zeile bei der Implementierung dynamischer Formularspeicherung in Laravel

<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粉301523298P粉301523298416 Tage vor500

Antworte allen(1)Ich werde antworten

  • P粉098417223

    P粉0984172232023-09-01 00:17:50

    我在每一行的相同列中添加了两个隐藏的输入框,名称分别为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);}

    这对我起作用。

    Antwort
    0
  • StornierenAntwort