Javascript 如何在编辑ajax中选择laravel选项
我让我的数据通过ajax返回到表中,在这些数据中我还有编辑表单 在我的编辑表单中,我有一些选择选项,这些选项的数据是动态的,并且可以完美地返回,但我无法将所选属性添加到数据库中的“已保存”选项中,因为它总是显示第一个选项 截图 正如您在这个屏幕截图中看到的,我的编辑表单无法在选择中获得正确的选项 注: 如果我的数据是通过blade loop@foreach返回的,我会选择正确的选项,如下所示:Javascript 如何在编辑ajax中选择laravel选项,javascript,php,ajax,laravel,Javascript,Php,Ajax,Laravel,我让我的数据通过ajax返回到表中,在这些数据中我还有编辑表单 在我的编辑表单中,我有一些选择选项,这些选项的数据是动态的,并且可以完美地返回,但我无法将所选属性添加到数据库中的“已保存”选项中,因为它总是显示第一个选项 截图 正如您在这个屏幕截图中看到的,我的编辑表单无法在选择中获得正确的选项 注: 如果我的数据是通过blade loop@foreach返回的,我会选择正确的选项,如下所示: {{ $location->province_id == $province->id ?
{{ $location->province_id == $province->id ? 'selected' : '' }}
<option value="{{$province->id}}" {{ $location->province_id == $province->id ? 'selected' : '' }}>{{$province->name}}</option>
剧本
我在代码中对我的选择选项进行了注释,这样您可以更快地找到它们
第1行和第2行显示城市xyz,但第3行为空
PS:我分享了屏幕记录,以防我的解释不正确
够清楚了
您可以做的是将您的表分离为blade并从ajax返回它。 使用刀片,您现在可以以选定的值为目标
Route::get('/ajaxTableDelete', 'Controller@myAjax');
public function myAjax() {
$province = $provinceData;
$cities= $cities;
return view('view.deleteTable', ['province'=>$province,'cities'=>$cities]->render();
}
deletetetable.blade.php
通过ajax
success:function(data){
$('#table_dataLocations').append(data);
}
$.each(data.cities, function(key, value) {
$('select[name="city_idLocationUpdate"]')
.append(`<option value="${value.id}" ${value.id == i.city_id ? 'selected' : ''}>${value.name}</option>`)
});
您可以做的是将您的表分离为blade并从ajax返回它。 使用刀片,您现在可以以选定的值为目标
Route::get('/ajaxTableDelete', 'Controller@myAjax');
public function myAjax() {
$province = $provinceData;
$cities= $cities;
return view('view.deleteTable', ['province'=>$province,'cities'=>$cities]->render();
}
deletetetable.blade.php
通过ajax
success:function(data){
$('#table_dataLocations').append(data);
}
$.each(data.cities, function(key, value) {
$('select[name="city_idLocationUpdate"]')
.append(`<option value="${value.id}" ${value.id == i.city_id ? 'selected' : ''}>${value.name}</option>`)
});
解决了的
我放弃了ajax处理程序,将@foreach恢复为html,与上面的第一段代码相同
然后我把它改成:
@foreach($cities as $city)
<option value="{{$city->id}}" ${`{{$city->id}}` == i.city_id ? 'selected' : ''}>{{$city->name}}</option>
@endforeach
希望它能帮助其他人。
我放弃了ajax处理程序,将@foreach恢复为html,与上面的第一段代码相同
然后我把它改成:
@foreach($cities as $city)
<option value="{{$city->id}}" ${`{{$city->id}}` == i.city_id ? 'selected' : ''}>{{$city->name}}</option>
@endforeach
希望它能帮助其他人。谢谢,我更新了我的问题,你介意检查一下吗?不幸的是,结果和我在更新中解释的一样,而且如果我将它放在成功的一边,就像你的代码一样,它会返回错误,我是未定义的Hanks,我更新了我的问题,你介意检查一下吗?不幸的是,结果和我在更新中解释的一样,如果我把它放在成功的一边,就像你的代码一样,它会返回我未定义的错误
success:function(data){
$('#table_dataLocations').append(data);
}
$.each(data.cities, function(key, value) {
$('select[name="city_idLocationUpdate"]')
.append(`<option value="${value.id}" ${value.id == i.city_id ? 'selected' : ''}>${value.name}</option>`)
});
@foreach($cities as $city)
<option value="{{$city->id}}" ${`{{$city->id}}` == i.city_id ? 'selected' : ''}>{{$city->name}}</option>
@endforeach
${`{{$city->id}}` == i.city_id ? 'selected' : ''}