根据name属性值匹配json数据(适用于查看信息详情)

查看信息详情,通过ajax请求到json数据后,如果未使用vue,layui之类的前端框架,数据详情显示需要这样一条一条填充
$("#id1").val(data.id1);
$("#id2").val(data.id2);
$("#id3").val(data.id3);
......

如果数据量较大的话写起来比较复杂,也容易出问题,可以使用如下方法解决
html(根据name值进行匹配):

以下p标签换成input,span等均可

<div id="httpInfo" style="height:98%;overflow: auto">
	<div class="c-row pdb-l">
		<p class="col-2 text-right" style="font-weight: bold">服务名称:</p>
		<p class="col-10 pdl-xl" name="srvName"></p>
	</div>
	<div class="c-row pdb-l">
		<p class="col-2 text-right" style="font-weight: bold">中文名:</p>
		<p class="col-10 pdl-xl" name="srvChName"></p>
	</div>
	<div class="c-row pdb-l">
		<p class="col-2 text-right" style="font-weight: bold">服务状态:</p>
		<p class="col-10 pdl-xl" name="srvStatusString"></p>
	</div>
	<div class="c-row pdb-l">
		<p class="col-2 text-right" style="font-weight: bold">服务类型:</p>
		<p class="col-10 pdl-xl" name="srvTypeString"></p>
	</div>
	......
</div>

json:

{
    "code":200,
    "success":true,
    "obj":{
        "srvName":"testService",
        "srvChName":"测试服务",
        "srvTypeString":"http服务",
        "srvStatusString":"运行中",
    }
}

javascript:

$.ajax({
	url: 'getSrvInfoDetail?srvId=3569'
	, type: 'POST'
	, success: function (data) {
		parseJson2Html(data.obj, $("#httpInfo"))
	}
});
function parseJson2Html(data, div){
	for (let key in data){
		//p标签,span标签等使用text()
		$(div).find('p[name='+key+']').text(data[key]);
		//input,textarea等标签使用val()
		$(div).find('textarea[name='+key+']').val(data[key]);
	}
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值