javascript 的对象访问

object = {
	'0': array[2],
	'3':array[33]
}

本来以为用id做key值的,结果发现 用 object['0'], object.0 都不能访问,所以在前面加了一个‘id’字符串就可以了

object = {
	'id0': array[2],
	'id3':array[33]
}


在php中,数组和对象的遍历是一样的,但是在javascript里不行,要分开。我的理解是

for(  in )用于object

for( var i=0; i< arr.length; i+) 用于数组

基础不扎实,折腾了很久。

这是前篇文章php的javascript版本

$('#tab-item-course :radio').click(function(){
	// console.log($('#tab-item-course :radio:checked'));
	var cid = $('#tab-item-course :checked').eq(0).val();

	var eid = $('#tab-item-course :checked').eq(1).val();		
	if( eid == 8 || eid == 2 ){
		var sOptions = '<option value=-1>地理区域</option>';
	} else {
		cid = '-1';
		var sOptions = '<option value=-1>专业方向划分</option>';
	}
	// console.log(cid,eid);
	if( !oSubjectList[cid] || !oSubjectList[cid][eid] ){
		// alert('目前没有该选项');
		$('#selectedProfessionalId').attr('disabled', true);
		return ;
	}
	var aList = oSubjectList[cid][eid];

	var oCat = {};
	for( var i=0; i<aList.length ; i++ ){
		if ( ! oCat['id'+aList[i]['parentId']+'']) {
			oCat['id'+aList[i]['parentId']+''] = [];
		}
		oCat['id'+ aList[i]['parentId']+''].push( aList[i] );
	}
	
	var aTopCat = oCat['id0'];
	for ( var i=0; i<aTopCat.length ; i++ ) {
		var pId =  aTopCat[i]['professional_category_id'];
		if ( eid == 6 ||  eid == 11) { //本科和硕士
			 sOptions +=  '<optgroup label="'  +  aTopCat[i]['professional_category_name']  + '">';
			 var aSubCate = oCat [ 'id'+pId];
			for ( var j=0; j<aSubCate.length ; j++ ) {
				 sOptions +=  '<option value="'  +  aSubCate[j]['professional_category_id']  +'" >'  +  aSubCate[j]['professional_category_name']  + '</option>';
			}
			 sOptions +=  '</optgroup>';
		}else{ //没有二级菜单的
			 sOptions =  sOptions  + '<option value="'  +  aTopCat[i]['professional_category_id']  +'" >'  +  aTopCat[i]['professional_category_name']  + '</option>';
		}
	}
	$('#selectedProfessionalId').html(sOptions).attr('disabled', false);
});
其实要主要 undefined的判断和数组遍历。

var oCat = {};
这个很重要,定义为对象,一开始定义为数组,老是出错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值