所以我正在使用这个项目,它具有在一个提交中添加多行的功能,我使用jQuery append()添加输入行,但是如果其中一个请求不符合验证中所需的规则附加行未显示且未返回其旧输入。这是我的代码。
我的观点
<tr class="table_row" id="appended_tr">
<td>
<select id="menu" name="menu[]" class="form-control">
<option>Select</option>
@foreach($menus as $data)
<option value="{{ $data->menu_id }}" {!! old('menu.0') == $data->menu_id ? 'selected' : '' !!}>{{ $data->name }}</option>
@endforeach
</select>
<small class="text-danger">{{ $errors->first('menu.0') }}</small>
</td>
</tr>
这是我的javascript
$(document).ready(function() {
$("#add_row").on("click", function() {
$('select').select2('destroy');
var count = $('tr[id="appended_tr"]').length;
console.log();
var content ='<tr id="appended_tr">' +
'<td>' +
'<select id="menu" name="menu[]" class="form-control">' +
'<option>Select</option>' +
'@foreach($menus as $data)' +
'<option value="{{ $data->menu_id }}"' +
'{!! old("menu.1") == $data->menu_id ? "selected" : "wew" !!} >{{ $data->name }}</option>' +
'@endforeach' +
'</select>' +
'<small class="text-danger">{{ $errors->first('menu.1') }}</small>' +
'</td>' +
'</tr>';
$("#table_body").append($(content));
$('select').select2({width:400});
});
});
这是我的规则
public function rules(){
foreach($this->request->get('menu') as $key => $value){
$rules['menu.'.$key] = 'required';
}
return $rules;
}