我有以下功能,可以将输入添加到表单
<script>
var id = 2;
function addNewItem(){
var div1 = $("<div class='row'></div>");
var inputGroup1 = $("<p class='form-group col-sm-6'></p>");
inputGroup1.html("<input type='text' placeholder='نام کالا' class='form-control' id='" + id + "' name='" + id +"' value='{{old()}}'>");
var inputGroup2 = $("<p class='form-group col-sm-3'></p>");
inputGroup2.html("<input type='text' placeholder='قیمت کالا' class='form-control' id='g" + id +"' name='g" + id +"' >");
var inputGroup3 = $("<p class='form-group col-sm-3'></p>");
inputGroup3.html("<input type='number' placeholder='تعداد کالا' class='form-control' id='t" + id +"' name='t" + id +"' >");
var lineBreak = $("<hr class='visible-xs-block'>");
div1.append(inputGroup1,inputGroup2,inputGroup3,lineBreak);
$("#sendBtn").before(div1);
$('#t'+id).spinner();
$("#" + id).autocomplete({
source : items,
});
id++;
}
</script>
但我想使用自动生成的输入名称,它代表Laravel旧变量中名为“id”的javascript变量,例如{{old('id')}}
答案 0 :(得分:0)
对于那些可能有类似问题的人,我使用以下代码来解决这个问题
<script>
@if(!empty(session('count')))
@php
$id = 2;
@endphp
@for($i=0 ; $i<session('count') ; $i++)
var div1 = $("<div class='row'></div>");
var inputGroup1 = $("<p class='form-group col-sm-6'></p>");
inputGroup1.html("<input type='text' placeholder='نام کالا' class='form-control' id='" + id + "' name='" + id +"' value='{{old("$id")}}' >");
var inputGroup2 = $("<p class='form-group col-sm-3'></p>");
inputGroup2.html("<input type='text' placeholder='قیمت کالا' class='form-control' id='g" + id +"' name='g" + id +"' value='{{old("g$id")}}' >");
var inputGroup3 = $("<p class='form-group col-sm-3'></p>");
inputGroup3.html("<input type='number' placeholder='تعداد کالا' class='form-control' id='t" + id +"' name='t" + id +"' value='{{old("t$id")}}'>");
var lineBreak = $("<hr class='visible-xs-block'>");
div1.append(inputGroup1,inputGroup2,inputGroup3,lineBreak);
$("#sendBtn").before(div1);
$('#t'+id).spinner();
$("#" + id).autocomplete({
source : items,
});
id++;
@php
$id++;
@endphp
@endfor
@endif
</script>