【发布时间】:2014-09-06 17:25:28
【问题描述】:
我正在尝试使用 jQuery 实现一个动态选择框,但我遇到了一些问题... 我有一条“路线”可以访问我的数据库并获取新选择框的数据:
Route::get('contenidos/comboasign/{asignatura_id}', array('uses' => 'ContenidoController@comboAsignBloque'));
我的控制器:
public function comboAsignBloque($asignatura_id)
{
if(Request::ajax()){
$bloques = DB::table('bloques')->where('asignatura_id','=', $asignatura_id)->orderBy('nombre', 'asc')->lists('id','nombre');
return json_encode(array("bloques" => $bloques));
}
}
而且,在我看来,我有表单和这个 js:
$(document).ready(function(){
// Obtenemos los datos del selecbox1
$("#select_asignatura").change(function(e){
e.preventDefault();
var asignatura_id = $("#select_asignatura option:selected").val();
// AJAX request
$.get('comboasign/'+asignatura_id, function(data){
// #select_bloque is the select where I want to show my new options
var select = $('#select_bloque');
select.empty();
// select.html(data);
var optionsarray = data.split(',');
var seloption = " ";
$.each(optionsarray, function(i){
seloption += '<option value="' + optionsarray[i] + '">' + optionsarray[i] + '</option>';
select.append(seloption);
});
});
});
});
我需要在我的“js”中显示新的“selectbox_bloque”中的数据,或者我在控制器中做得不好......如果我将数据设置为正常,我会得到这样的东西:
{"bloques":{"bloque 1 mate":1,"Bloque 2 de Mate":6}}
我需要将此数组放入我的选择框中,但我不知道如何... 非常感谢任何帮助。
【问题讨论】:
标签: php jquery ajax arrays laravel