我正在使用Codeigniter开发一个应用程序Web,我有三个输入<select>
,它们彼此依赖;第二个<select>
取决于第一个,第三个取决于第二个和第一个。我用jQuery中的ajax填充这些''。
第一个和第二个''工作正常,但是当我填充第三个<select>
时我遇到了问题。我在firebug中查看过,响应是错误500,但功能与第二个''相同。
Controller的代码是:
function llenarParroquias() {
$zona = $this->input->post('zona');
$decanato = $this->input-post('decanato');
$this->load->model('Varios_model');
$parroquias = $this->Varios_model->datosParroquias($zona, $decanato);
foreach ($parroquias->result() as $parroq)
{
$arrParroquias[] = $parroq;
}
exit(json_encode($arrParroquias));
}
Ajax的功能是:
function obtenerParroquias(direccion) {
$('#parroquia').html('');
var id_zona = $('#vicaria').val();
var id_decanato = $('#decanato').val();
$.ajax({
type: 'POST',
url: direccion + 'index.php/datos/llenarParroquias/',
data: { zona: id_zona, decanato: id_decanato },
dataType: 'json'
}).done(comboParroquias);
}
function comboParroquias(parroqs) {
for (var i = 0; i <= parroqs.length - 1; i++) {
$('#parroquia').append('<option value ="' + parroqs[i][0] + '">' + parroqs[i][2] + '</option>');
}
}
我知道我的代码不是最好的,但是......有人可以帮帮我吗?我有一天有这个问题,我找不到答案......
提前谢谢。
来自墨西哥。
答案 0 :(得分:0)
在某些日子里读完我的代码之后,我尝试改变这个:
$zona = $this->input->post('zona');
$decanato = $this->input-post('decanato');
由此:
$zona = $_POST['zona'];
$decanato = $_POST['decanato'];
并且...它运作的Ajax !!! :d
我真的不明白为什么这项工作与$_POST
一起使用而不能与$this->input->post
一起使用,因为理论上它们都会采取相同的行动。
好吧,我回答我的问题,感谢任何有兴趣的人。
来自墨西哥。