从调用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
答案 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)