首页 > 解决方案 > 根据先前的选择框选项显示数据库中的选择框选项

问题描述

我正在尝试在我的 Laravel 项目中创建 2 个依赖选择框,这样当我在第一个选择框上选择一个选项时,第二个选择框的内容将基于此选项从数据库中生成,我尝试使用 ajax对于这项任务,它几乎可以解决问题是我无法翻译从我的控制器返回的数据,因此我无法填写第二个选择框,这是我的控制器:

public function get_fournisseurs($id){

    $fou= DB::table('four_cat')
        ->join('fournisseurs','four_cat.four', '=', 'fournisseurs.id')
        ->where('four_cat.cat','=', $id)
        ->select('fournisseurs.id','fournisseurs.nomSociete','fournisseurs.id','fournisseurs.tel')
        ->get();
    return json_encode(array('data'=>$fou));

 }

这是试图从控制器获取结果并根据该结果填充第二个选择框的 ajax 方法:

<script>
    $fou=null;
    $("#first-choice").change(function() {
        var cat = $("#first-choice").val();
        //console.log(cat);
        $.ajax({
            url: "{{ url('get_fournisseurs') }}"+'/'+cat ,
            method:'GET',
            dataType: 'json',
            success: function(dataResult){
                var resultData = dataResult.data;
                console.log(resultData);

                $.each(resultData,function(i,row){
                    //$('#second-choice').append('<option value="' +  row.id + '" title="Mobile :'+ row.tel +'">' +  row.id- row.nomSociete + '</option>');
                    $('#second-choice').append(new Option(row.id- row.nomSociete ,row.id ));
                })

            }
        });
    });


</script>

所以这一直给我 Nan 而不是控制器返回的实际数据

控制台错误

那么有人可以告诉我我的代码有什么问题吗?(我的表格是正确的,这就是为什么我没有显示代码以避免太多代码)

标签: javascriptjqueryajaxlaravelselect

解决方案


推荐阅读