js 中数据的编辑回显功能,el表达式满足不了的动态参数获取的值

 

为了实现上图的编辑回显功能,其中下图中红框中的内容是动态添加的,它的属性名不确定,但是这些属性的值,都已经在后台查询出来,是一个map的值,并存放到request中,js中使用el表达式,如${xinxi.name}这样就能获取相应的值。

这样问题就来了,向一些固定的参数,如name,这样的参数,我直接可以给input框进行value="${xinxi.name}"这样进行赋值,但动态拼接出来的input,在使用el的时候,就出现问题,el不能进行动态参数的设置,页面书写错误。
为解决这个问题,我的做法是进行一个转化;
1、在后台将得到的map的数据,在填一个,将map转化为json格式,并存储到request中
2、在前台用变量进行json数据的获取
3、获取之后,将js中得到的json串,在转成json格式
4、js使用json的循环,将需要的数据动态取出,并去给相应的input框
最终效果实现:
部分代码如下:

//这是循环动态拼接table中4列参数
for (var i = 0 ; i < data.length ; i ++ ) {
	if ((i)%4 == 0 ) {
	   str += "<tr>";
	}
	var aa = data[i].csm.toLowerCase();
	str += "<td align='right' class='l-table-edit-td'><span style='color: red'>*</span>"+data[i].csmc+"</td>";
	str += "<td  align='left' class='l-table-edit-td' style='width:160px;'>";
	str += "<input id='"+data[i].csm.toLowerCase()+"' name='"+data[i].csm.toLowerCase()+"' value='"+data[i].csz+"' type='text' ltype='text' maxlength='30' class='inputtext' /></td>";
	if ((i)%4 == 3) {
	   str += "</tr>";
	} 
}	
//这个给table中的tbody赋值
$("#zdlxcs").html(str);
//将动态获取的参数的data赋值给全局的一个变量
csdata = data ;


//在相应的方法中,进行动态参数的循环赋值
for (var i = 0 ; i < csdata.length ; i ++ ) {
        //获得动态参数的属性名
	var cc = csdata[i].csm.toUpperCase();
        //获得后台map的相应的json格式的数据
	var dd = '${xinxijson}';
	var ee = JSON.parse(dd);
        //给相应的动态生成的input进行赋值
	$("#"+cc.toLowerCase()).val(ee[cc]);
 }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值