【发布时间】:2018-01-31 17:59:01
【问题描述】:
output of dd($formdescription->all());
var addInput3 = function(e) {
var arr3 = [];
$(".materialclass").each(function() {
arr3.push($(this).val());
});
$('#materialvalue').html(arr3.join(","));
}
$(document).ready(function() {
$(document).on("click", ".material", function(e) {
e.preventDefault();
var clone = '<div class="material1"><select class="materialclass"><option selected disabled>--Select One--</option><option value="No batteries">No batteries</option><option value="AA">AA</option><option value="AAA">AAA</option><option value="Lithium">Lithium</option></select><input type = "submit" value = "-" class = "remove" ><input type = "submit" value = "+" class = "material" ></div>';
$(this).closest('.material1').after(clone);
});
$(document).on("click", ".remove", function(e) {
e.preventDefault();
$(this).parent(".material1").remove();
});
});
$('.materialclass').unbind().bind('change', addInput3);
var addInput = function(e) {
var arr = [];
$("input.packageclass").each(function() {
arr.push($(this).val());
});
//alert(arr);
$('#salespackage').html(arr.join(","));
}
$(document).ready(function() {
$(document).on("click", ".addnext", function(e) {
e.preventDefault();
var clone = '<div class="addpack"><input class="packageclass" type="text" name="package[]" id="package" placeholder="Ex.accessories"/><input type = "submit" value = "-" class = "remove" ><input type = "submit" value = "+" class = "addnext" ></div>';
$(this).closest('.addpack').after(clone);
$('.packageclass').unbind().bind('change', addInput);
});
$(document).on("click", ".remove", function(e) {
e.preventDefault();
$(this).parent(".addpack").remove();
});
});
$('.packageclass').unbind().bind('change', addInput);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id=container>
<div class="addpack">
<h6>Sales Package </h6>
<div>
<input type="text" name="package[]" placeholder="EX.accessories" id="package" class="packageclass">
<input type="submit" value="+" class="addnext"></div>
</div>
</div>
<br/>
<br/>
<div id="container">
<div class="material1">
<h6>Material </h6>
<div>
<select class="materialclass" name="material">
<option selected disabled>--Select One--</option>
<option value="No batteries">No batteries</option>
<option value="AA">AA</option>
<option value="AAA">AAA</option>
<option value="Lithium">Lithium</option>
</select>
<input type="submit" value="+" class="material"></div>
</div>
</div>
这是我的 laravel 视图代码。在这里,当我单击添加按钮时,输入字段会重复,(显示在 sn-p 中)。
我需要的是,为这些字段添加多个值。
例如,销售包-->附件 销售包-->手册
但是,只有最后一个添加的值会被插入到数据库中。
控制器:
public function addProductDetails(Request
$formdescription,$dataId,$pidvalue)
{
$description=new productDescription;
$description->deviceCategoryId=$dataId;
$description->product_id=$pidvalue;
$description->descid=$this->getproductDescriptionId();
$description->Width =$formdescription->input('width');
$description->save();
/* $salesPackage=new packageModel;
$salesPackage->salesPackage=$formdescription->input('package');
$salesPackage->productdesc()->associate($description->descid);
$salesPackage->save();*/
**$salesPackage = array();
$salesPackage = $formdescription->input('package');
//$id = $salesPackage->productdesc()->associate($description-
>descid);**
**$sales = new packageModel;
$sales->productdesc()->associate($description->descid);
foreach($salesPackage as $sp){
//$sales->productdesc_id = $id;
$sales->salesPackage = $sp;
$sales->save();
}**
}
return response()->json([
'modelName' => $formdescription->mname,
'colour' => $formdescription->colour,
'rechargable' => $formdescription->rechargable,
'batteryType' => $formdescription->batteryType
]);
//$description->product()->associate($priceInfo);
}
以粗体标记的代码(控制器)用于添加数组值。 此外,我只尝试了 salesPackage 字段,但同样需要添加下拉值数组(即 Material)。
【问题讨论】:
-
你能添加
dd($request->all())的输出吗? -
好的..我会更新它
-
您需要检查输入是否有数组值,然后使用 foreach 您可以遍历每个项目以将其保存到数据库
-
我不知道如何用foreach迭代它
标签: javascript php mysql laravel