jquery操作json对象

$(function(){
			/*键盘事件*/
			 $("#routerNumber").keyup(function(){
					var routerNumber=$("#routerNumber");
					var specialRouter=$("#specialRouter");
					var specialRouterDiv=$("#specialRouterDiv");
					if(routerNumber.val()!='' && !isNaN(routerNumber.val()) && routerNumber.val()>0){
						if($('#rounter tr').text()!=''){
							$("#rounter").empty();
							$("#specialRouter").val("");
						}
						var rounterRowIdx=1;
						var json={};//构建json对象
						for(var i=1;i<=routerNumber.val();i++){
							addRow('#rounter', rounterRowIdx, rounterTpl);
							//json对象赋值
							var str={"rounter1":0};
							if(rounterRowIdx>1){
								/*操作json对象,
								如果str[]中的key值和json对象中的相等则替换此key对应的value值。
								如果不相等则append此key和value值。*/
								str["rounter"+rounterRowIdx] = rounterRowIdx;
								/*删除json对象的key对应的值和key*/
								delete str["rounter1"];
								str["rounter"+rounterRowIdx] = 0;
							}
							/*jauery提供的一个方法,把json和str两个json对象合并成一个json对象*/
							json = $.extend({},json,str);
							rounterRowIdx = rounterRowIdx + 1;
							/*把json对象转换成json字符串*/
							$("#specialRouter").val(JSON.stringify(json));
						}
					}else{
						$("#rounter").empty();
						$("#specialRouter").val("");
					}
				}); 
		});
		 function addRow(list, idx, tpl, row){
				$(list).append(Mustache.render(tpl, {
						idx: idx, delBtn: true, row: row
					}));
				$(list+idx).find("select").each(function(){
						$(this).val($(this).attr("data-value"));
					});
				$("select").select2({
					placeholder: "自动" //默认提示语  
				});
				 if(row!=undefined && row.indexOf(":")!=-1){
// 					 console.log(row.split(":"));
// 					 console.log("idx:"+idx);
					/*取到字符串中的数字*/
					var areaId=row.split(":")[1].replace(/[^0-9]/ig,"");
// 					console.log("areaId:"+areaId);
					$("select#rounter"+idx).select2().val(areaId).trigger("change");
				 }
				}
		 function getRounterVal(id,value,it){
			var str=$("#specialRouter").val();
			//console.log("id:"+id+",value:"+value);
			var id=id.substring(7);
			if(str!="" && str != undefined){
				//json字符串转换成json对象,转成对象后可以动态修改json对象的属性和key值
				var json = eval('(' + $("#specialRouter").val() + ')');
				json["rounter"+id] = value;
				$("#specialRouter").val(JSON.stringify(json));
			 }
		 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值