利用jquery each 实现多级分类下拉框显示

Js代码:

function get_list(obj){
            		if(obj.val()==0){
            			$('#tr_se').hide();
            		}else{
            			$.getJSON(
            				'/admin/index.php?app=cate_recommend&act=ajax_get_child_categories',
            				{'parent_id':obj.find("option:selected").attr('id')},
            				function(data){
            					var html = '<select name=\'cate_id\'>';
            					$.each(data,function(i,item){
                					html += '<option value=\''+item.cate_id+'\'>'+item.cate_name+'</option>';
										if(item.has_child){
											$.each(item.child,function(j,vo){
												//alert(vo);
												html += '<option value=\''+vo.cate_id+'\'>----'+vo.cate_name+'</option>';
											});
										}
                					}
                            	);
            					html += '</select>';
            					$('#tr_se').show();
                            	$('#selects').html(html);
            				}
            			);
            		}
            	}

PHP代码:

function ajax_get_child_categories(){
		$parent_id = $_GET['parent_id'];
		$mod =& bm('gcategory', array('_store_id' => 0));
		$gcategories = $mod->get_list($parent_id);
		foreach($gcategories as $key=>$val){
			$categories = $mod->get_list($val['cate_id']);
			if($categories){
				$gcategories[$key]['has_child'] = true;
				$gcategories[$key]['child'] = $categories;
			}else{
				$gcategories[$key]['has_child'] = false;
			}
		}
		echo json_encode($gcategories);exit;


你可能感兴趣的:(json,each)