返回数据ajax超过2个值

时间:2017-11-03 10:37:27

标签: jquery css ajax html5 laravel

从调用ajax返回2个以上的值,

我有这个代码

 $('select[name="parameter"]').on('change', function() {
        var stateID = $(this).val();
       if(stateID != 'other') {
          $.ajax({
            url: "{{URL::to('myform/ajaxSO')}}/"+stateID ,
              type: "GET",
              dataType: "json",
              success:function(data) {          
              $('select[name="so"]').empty();
              $.each(data, function(key, value , value2) {
              $('select[name="so"]').append('<option value="'+ key +'">'+ value +'</option>');
              });
              }
          });

控制器

 public function myformAjaxSO($id)
{
    $cities = DB::table("kpi_parameters")
                ->where("id",$id)
                ->distinct('')
                ->lists("so_name","so_id","unit_name");   
    return json_encode($cities);      
}

路线

Route::get('myform/ajaxSO/{id}',array('as'=>'myform.ajax','uses'=>'QuartersController@myformAjaxSO'));

我想在value2上调用unit_name

2 个答案:

答案 0 :(得分:1)

列表或采取返回键&amp;来自查询的价值。如果您有多个值,则可能需要解决我建议可以在查询构建器中使用select方法的问题。

示例控制器方法:

public function myformAjaxSO($id) {
    $cities = DB::table("kpi_parameters")->select("so_name","so_id","unit_name")
        ->where("id",$id)
        ->distinct('')
        ->get();

    return response()->json($cities, 200);
}

和Javascript示例:

$('select[name="parameter"]').on('change', function() {
    var stateID = $(this).val();
    if (stateID != 'other') {
        $.ajax({
            url: "{{URL::to('myform/ajaxSO')}}/" + stateID,
            type: "GET",
            dataType: "json",
            success: function (data) {
                $('select[name="so"]').empty();
                $.each(data, function (key, city) {
                    $('select[name="so"]').append('<option value="' + city.so_id + '">' + city.so_name + '('+city.unit_name+') '+'</option>');
                });
            }
        });
    }
});

跳这将有所帮助。

答案 1 :(得分:0)

您可以在成功处理程序

中返回json和JSON.parse(data)