jQuery使用jQuery ajax json,php将项目填充到Select中

我有一个选择字段。 我必须填写从mysql表中获取的选项。
这是我使用codeigniter框架完成的一些小PHP代码

$idcateg = trim($this->input->post('idcategory')); $array1 = array( 'result' => $idcateg ); echo json_encode($array1); 

现在,jQuery调用…

 $.post("index.php/rubro/list_ajax/", { 'idcategory' : idc }, function(data){ alert(data.result); }, "json"); 

代码工作正常。 当我打电话给post时,我得到了categoryid。
现在,我应该修改上面的代码,所以我可以这样做:

  • 发布ajax调用发送类别ID。 这个完成了
  • 获取此类别的子类别,并构建数组*
  • json_encode数组和echo *
  • 在jQuery ajax调用中获取结果,解码并构建字段*

应该构建数组,每个元素都有一个带有id和name的子数组,对吗? 非常感谢您提供任何帮助

它并没有太大的不同。

 $idcateg = trim($this->input->post('idcategory')); $result = array(); $id = mysql_real_escape_string($idcateg); $res = mysql_query("SELECT * FROM subcategories WHERE category = $id"); while ($row = mysql_fetch_array($res)) { $result[] = array( 'id' => $row['subcatid'], 'desc' => $row['description'], ); } echo json_encode($result); 

有:

 $.post("index.php/rubro/list_ajax/", { 'idcategory' : idc }, function(data) { var sel = $("#select"); sel.empty(); for (var i=0; i' + data[i].desc + ''); } }, "json"); 

是。 您希望传回包含名称/值对的JSON编码的对象数组。 然后,您可以使用这些迭代创建选择。

 $.post("index.php/rubro/list_ajax/", {'idcategory' : idc }, function(data){ var select = $('#selectName').empty(); $.each(data.values, function(i,item) { select.append( '' ); }); }, "json"); 

你也可以使用$()。load()并让你的PHP代码生成标签

  $return = ""; while ($row = mysql_fetch_array($res)) { $value = $row['value']; $text = $row{'text']; $return .= "\n"; } print $return; } 

 $('#select').load("index.php/rubro/list_ajax/"); 

请尝试以下代码。

在控制器———

 public function AjaxTest() { $rollNumber = $this->input->post('rollNumber'); $query = ""; if($rollNumber !="") { $query = $this->welcome_model->get_students(); } else { $query = $this->welcome_model->get_students_informationByRoll($rollNumber); } $array = array($query); header('Content-Type: application/json', true); echo json_encode($array); } 

在视图中添加选择选项

    

现在的脚本—-

 function CheckAjaxCall() { $.ajax({ type:'POST', url:'welcome/AjaxTest', dataType:'json', data:{rollNumber: $('#txtSearchRoll').val()}, cache:false, success:function(aData){ $('#myStudents').get(0).options.length = 0; $('#myStudents').get(0).options[0] = new Option("--Select--", "0"); $.each(aData, function(i,item) { $('#myStudents').get(0).options[$('#myStudents').get(0).options.length] = new Option(item[i].Name, item[i].roll); // Display Value }); }, error:function(){alert("Connection Is Not Available");} }); return false; } 

享受代码……