无法对Ajax下拉列表进行排序

无法对Ajax下拉列表进行排序,ajax,codeigniter,sorting,Ajax,Codeigniter,Sorting,我有两个下拉列表,第二个下拉列表依赖于第一个下拉列表。除了第二个ajax下拉列表没有按字母顺序排序外,一切正常。 这是我的密码: 视图: 型号: function get_dropdown_by_ajax($itctid) { $this->db->select('itid, itnm'); $this->db->where('itctid', $itctid); $this->db->order_by('itn

我有两个下拉列表,第二个下拉列表依赖于第一个下拉列表。除了第二个ajax下拉列表没有按字母顺序排序外,一切正常。 这是我的密码: 视图:

型号:

function get_dropdown_by_ajax($itctid) {
        $this->db->select('itid, itnm');
        $this->db->where('itctid', $itctid);
        $this->db->order_by('itnm', 'asc');
        $data = $this->db->get('items');
        if ($data->num_rows() > 0) {
            foreach ($data->result() as $item) {
                $data_arr[$item->itid] = $item->itnm;
            }
            return $data_arr;
        }
    return;
}
项目表:

CREATE TABLE IF NOT EXISTS `items` (
  `itid` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `itctid` int(11) unsigned NOT NULL,
  `itnm` varchar(255) NOT NULL,
  `itmrp` decimal(10,2) NOT NULL,
  `itstkcnt` varchar(10) NOT NULL,
  `itrol` decimal(10,2) NOT NULL,
  `ituom` varchar(150) NOT NULL,
  `itrmks` varchar(255) NOT NULL,
  `itcrid` int(11) unsigned NOT NULL,
  `itcrdtm` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `itmdfid` int(11) unsigned DEFAULT NULL,
  `itmdfdtm` datetime DEFAULT NULL,
  PRIMARY KEY (`itid`),
  UNIQUE KEY `itnm` (`itnm`),
  KEY `itctid` (`itctid`),
  KEY `itcrid` (`itcrid`),
  KEY `itmdfid` (`itmdfid`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

请帮忙!我试着到处搜索,现在已经花了将近一周的时间。

为什么在你的模型中使用foreach?选择(itnm)应该足够了,对吗?您需要向我们显示您的数据库表和下拉列表我添加了下拉视图,还有items表结构ForEach将生成下拉列表,尽管我不确定如果没有@AdrienXLsomeone是否可能请帮助
function get_dropdown_by_ajax($itctid) {
    $data = $this->items_m->get_dropdown_by_ajax($itctid);
    header('Content-Type: application/x-json; charset=utf-8');
    echo json_encode($data);
}
function get_dropdown_by_ajax($itctid) {
        $this->db->select('itid, itnm');
        $this->db->where('itctid', $itctid);
        $this->db->order_by('itnm', 'asc');
        $data = $this->db->get('items');
        if ($data->num_rows() > 0) {
            foreach ($data->result() as $item) {
                $data_arr[$item->itid] = $item->itnm;
            }
            return $data_arr;
        }
    return;
}
CREATE TABLE IF NOT EXISTS `items` (
  `itid` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `itctid` int(11) unsigned NOT NULL,
  `itnm` varchar(255) NOT NULL,
  `itmrp` decimal(10,2) NOT NULL,
  `itstkcnt` varchar(10) NOT NULL,
  `itrol` decimal(10,2) NOT NULL,
  `ituom` varchar(150) NOT NULL,
  `itrmks` varchar(255) NOT NULL,
  `itcrid` int(11) unsigned NOT NULL,
  `itcrdtm` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `itmdfid` int(11) unsigned DEFAULT NULL,
  `itmdfdtm` datetime DEFAULT NULL,
  PRIMARY KEY (`itid`),
  UNIQUE KEY `itnm` (`itnm`),
  KEY `itctid` (`itctid`),
  KEY `itcrid` (`itcrid`),
  KEY `itmdfid` (`itmdfid`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;