我需要在我的表单中创建dinamic select。 我已经编写了这段代码来从我的控制器(CodeIgniter)获取它,从模型中获取数据。
这是剧本:
<script type="text/javascript">
$(document).ready(function(){
$("select#regione").change(function(){
$.getJSON("http://test:8888/ricerca/test",{id: $(this).val()}, function(dati){
var options = '';
for (var i = 0; i < dati.length; i++) {
options += '<option value="' + dati[i].valore + '">' + dati[i].etichetta + '</option>';
}
$("#provincia").html(options);
$('#provincia option:first').attr('selected', 'selected');
});
});
});
</script>
这是下拉表格:
<form action="base_url().'ricerca'" method="post">
<select name="regione" id="regione">
<option value="">No option</option>
<option value="Lombardia">Lombardia</option>
<option value="Lazio">Lazio</option>
</select>
<select name="provincia" id="provincia">
</select>
</form>
这是控制器:
class Ricerca extends CI_Controller
{
public function test()
{
$dati = array();
array_push($dati,array("valore"=>"ciao", "etichetta"=>"ciao"));
array_push($dati,array("valore"=>"mamma", "etichetta"=>"mamma"));
return json_encode($dati);
}
}
在我在模型中进行查询之前,我会看到我的脚本是否有效,但是如果我在第一个名为“Regione”的选择中选择了一个选项,那么脚本什么都不做
答案 0 :(得分:0)
你必须从控制器函数回显json数据而不是返回数据
public function test()
{
$dati = array();
array_push($dati,array("valore"=>"ciao", "etichetta"=>"ciao"));
array_push($dati,array("valore"=>"mamma", "etichetta"=>"mamma"));
echo json_encode($dati);
}
或者你可以做
public function test()
{
$dati = array();
array_push($dati,array("valore"=>"ciao", "etichetta"=>"ciao"));
array_push($dati,array("valore"=>"mamma", "etichetta"=>"mamma"));
$this->output
->set_content_type('application/json')
->set_output(json_encode($dati));
}