选择框通知Uncaught TypeError:无法读取未定义的属性'DepCod'

时间:2014-03-01 16:04:48

标签: javascript jquery

google chrome notice“Uncaught TypeError:无法读取未定义的属性'DepCod'”

请修复我的代码并告诉我为什么我的代码不起作用

$.ajax({
    url:base_url + 'c_category/departList',
    data:'',
    dataType: "text",
    cache:false,
    type:'post',
    success: function(dep){
    if(dep !== ''){    
    var re = $.parseJSON(dep);
    var counts = dep.length;               
    var i = 0;

    for(i=0;i<counts;i++){
    $.each(re ,function(index,value){
          $("#deps").append("<option value="+value[i].DepCod+">"+value[i].DepLocNam+</option>");
    //  alert(value[dep][0].DepCod);

    });
    }
    } else {
    $('.dep').html("no data"); 
    }
    },
    error:function(){
    $('.dep').html("error"); 
    }
    });

这是我的控制器

    function departList(){

    $query['dep'] = $this->m_category->getAllDepart();
    echo json_encode($query);
    }

和模型

    function getAllDepart(){

    $this->db->select("*");
    $this->db->from('DEPMST');              
    $query = $this->db->get();      
    return $query->result();            
    }

和bootstrap html

    <div class="col-md-2">
    <div class="dep" >
    <select id="deps" name="dep" class="form-control"> 
    <option value="0">--- dep list---</option>
    </select>
    </div>    
    </div>

谢谢大家,我可以像这样解决它

var re = $.parseJSON(dep);
$.each(re.dep,function(index,value)
{           
$("#deps").append("<option value="+value.DepCod+">"+value.DepLocNam+"</option>");
});

1 个答案:

答案 0 :(得分:0)

$.each(re, function(index, value) {
   $("#deps").append('<option value="' + value.DepCod + '">' + value.DepLocNam + "</option>");
}

你写的是这样的吗?

您确定,在数据库表DEPMST中,您有DepCod&amp; DepLocNam字段?