Javascript 如何在编辑ajax中选择laravel选项

Javascript 如何在编辑ajax中选择laravel选项,javascript,php,ajax,laravel,Javascript,Php,Ajax,Laravel,我让我的数据通过ajax返回到表中,在这些数据中我还有编辑表单 在我的编辑表单中,我有一些选择选项,这些选项的数据是动态的,并且可以完美地返回,但我无法将所选属性添加到数据库中的“已保存”选项中,因为它总是显示第一个选项 截图 正如您在这个屏幕截图中看到的,我的编辑表单无法在选择中获得正确的选项 注: 如果我的数据是通过blade loop@foreach返回的,我会选择正确的选项,如下所示: {{ $location->province_id == $province->id ?

我让我的数据通过ajax返回到表中,在这些数据中我还有编辑表单

在我的编辑表单中,我有一些选择选项,这些选项的数据是动态的,并且可以完美地返回,但我无法将所选属性添加到数据库中的“已保存”选项中,因为它总是显示第一个选项

截图 正如您在这个屏幕截图中看到的,我的编辑表单无法在选择中获得正确的选项

注:

如果我的数据是通过blade loop@foreach返回的,我会选择正确的选项,如下所示:

{{ $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' : ''}