小编典典

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

ajax

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

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

现在,jQuery调用…

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

该代码工作正常。当我给帖子打电话时,得到的结果是categoryid。
现在,我应该修改上面的代码,以便可以执行以下操作:

  • 发布ajax调用,发送类别ID。这个做完了
  • 获取该类别的子类别,并构建数组*
  • json_encode数组并回显*
  • 通过jQuery ajax调用返回结果,解码并构建<选择>字段*

该数组应该由每个元素都具有ID和名称的子数组组成,对吗?提前非常感谢您的帮助


阅读 271

收藏
2020-07-26

共1个答案

小编典典

没什么大不了。

$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("<?=base_url()?>index.php/rubro/list_ajax/", { 
  'idcategory' : idc },
  function(data) {
    var sel = $("#select");
    sel.empty();
    for (var i=0; i<data.length; i++) {
      sel.append('<option value="' + data[i].id + '">' + data[i].desc + '</option>');
    }
  }, "json");
2020-07-26