Js JQuery 遍历列表获取对应行的数据进行运算

需求

项目中有个列表,选中后计算对应行的数据,其实很多时候都用到,现在总结一下为以后需要的时候借鉴。
如图
这里写图片描述

页面HTML代码###

<div class="project-list">
       #{list items:invests, as:'invest'} 
       <div class="project-list-item">
          <ul class="info-up">
            <li>#{if invest?.bid?.type == 1 }如意宝#{/if} #{else}槐乡富 #{/else}${invest?.bid?.title}期</li>
            <li class="amount">${invest?.amount?.format("#,###.00")}</li>
            <input class="apr" type="hidden" value="${invest?.bid?.apr}"/>
             <input class="investId" type="hidden" value="${invest?.id}"/>
            <li>${invest?.bid?.beginInterest}</li>
            <li class="state">
              #{if invest?.transfer_status == '0'}可转让 #{/if}
              #{elseif invest?.transfer_status == '1'}转让中#{/elseif}
              #{else}已转让#{/else}
            </li>
             #{if invest?.transfer_status == '0'}
              <li class="control"><span>债券转让</span></li>
             #{/if}
             #{else} <li class="control check"><span>查看</span></li> #{/else}
          </ul>
          <div class="info-down">
             #{if invest?.transfer_status == '0'}
            <ul>
                <li>到期应得收益:<div class="receivInterest">0.00</div></li>
                <li>转让金额(元):<div><input  class="transferAmount transfer" placeholder="1000-${invest?.amount?.format('#,###')}"/></div></li>
                <li>转让利率(%):<div><input   class="transferAPR transfer" placeholder="${invest?.bid?.apr-1.0}% - ${invest?.bid?.apr}%"/></div></li>
                <li>转让期限(天):<div class = "transferPeriod transfer">${invest?.transferPeriod}</div></li>
                <li>转让服务费(元):<div class="transferServiceFee">0.00</div></li>
                <li></li>
            </ul>
              <a class="btn transfer_submit" href="javascript:;"></a>
              #{/if}
              #{elseif invest?.transfer_status == '1'}
                <ul>
                  <li>到期应得收益:<div class="red">${invest?.transfer?.expectInterest}</div></li>
                  <li>转让金额(元):<div>${invest?.transfer?.amount}</div></li>
                  <li>转让利率(%):<div>${invest?.transfer?.apr}</div></li>
                  <li>转让期限(天):<div>${invest?.transfer?.period}</div></li>
                  <li>转让服务费(元):<div class="red">${invest?.transfer?.manage_fee}</div></li>
                  <li></li>
              </ul>
              #{/elseif} 
              #{else}
              <ul>
                <li>到期应得收益:<div class="red">${invest?.transfer?.expectInterest}</div></li>
                <li>转让金额(元):<div>${invest?.transfer?.amount}</div></li>
                <li>转让利率(%):<div>${invest?.transfer?.apr}</div></li>
                <li>转让期限(天):<div>${invest?.transfer?.period}</div></li>
                <li>转让服务费(元):<div class="red">${invest?.transfer?.manage_fee}</div></li>
                <li>转让计息日:<div class="red">${invest?.transfer?.begin_interest}</div></li>
                <li></li>
            </ul>              
              #{/else}
          </div>
        </div>
        #{/list}   

Js 代码

	$(".transfer").blur(function(){	
		  //根据	.transfer选中目标类,在通过this找到现在离开的行,通过parents找到父类project-list-item,通过project-list-item找到相对应的数据
		  var  project_list_item= $(this).parents(".project-list-item");
		  var  transferAmount = project_list_item.find(".transferAmount").val()
		  var  transferAPR    = project_list_item.find(".transferAPR").val();
		  var  transferPeriod = project_list_item.find(".transferPeriod").html(); 
		  var  amount =project_list_item.find(".amount").html();
		  var  apr = project_list_item.find(".apr").val();
		  var  investId = project_list_item.find(".investId").val();
		  
		  if(transferAmount==null||transferAmount.trim()==""){
			  return;
		  }else if(parseInt(transferAmount)<= 0){
			  alert("转让金额不能小于0"); 
			  return;
		  }else if((parseInt(transferAmount))%1000!=0){
			  alert("转让金额必须为1000的整数倍"); 
			  return;
		  }else if(amount<parseInt(transferAmount)){
			  alert("转让金额"+transferAmount+",不能大于投资金额 "+amount); 
			  return;
		  }
		  if(transferAPR==null ||transferAPR.trim()==""){
			  return;
		  }
		  if(transferAPR>parseFloat(apr) || transferAPR<parseFloat(apr)-1){
			      alert("转让率需在"+(parseFloat(apr)-1.0)+"%-"+apr+"%之间"); 
				  return;
		  }
		  var receivInterest =  transferAmount*(transferAPR/360/100) * Math.abs(transferPeriod);
		  project_list_item.find(".receivInterest").html(Math.floor(receivInterest*100)/100);
		  var transferServiceFee = 0.0035 * transferAmount*Math.abs(transferPeriod)/360;
		  project_list_item.find(".transferServiceFee").html(Math.ceil(transferServiceFee*100)/100);
	})
	$(".transfer_submit").click(function(){
		  var  project_list_item= $(this).parents(".project-list-item");
		  var  transferAmount = project_list_item.find(".transferAmount").val()
		  var  transferAPR    = project_list_item.find(".transferAPR").val();
		  var  transferPeriod = project_list_item.find(".transferPeriod").html(); 
		  var  amount =project_list_item.find(".amount").html();
		  var  apr = project_list_item.find(".apr").val();
		  var  investId = project_list_item.find(".investId").val();
		  
		  if(transferAmount==null||transferAmount.trim()==""){
			  alert("请输入转让金额"); 
			  return;
		  }else if(parseInt(transferAmount)<= 0){
			  alert("转让金额不能小于0"); 
			  return;
		  }else if((parseInt(transferAmount))%1000!=0){
			  alert("转让金额必须为1000的整数倍"); 
			  return;
		  }else if(amount<parseInt(transferAmount)){
			  alert("转让金额"+transferAmount+",不能大于投资金额 "+amount); 
			  return;
		  }
		  if(transferAPR==null ||transferAPR.trim()==""){
			  alert("请输入转让利率"); 
			  return;
		  }
		  if(transferAPR>parseFloat(apr) || transferAPR<parseFloat(apr)-1){
				  alert("转让率超出范围"); 
				  return;
		  }
		  $.ajax({
			  type: 'POST',
			  dataType: "json",
			  url: "/m/front/transfer/publishDebtsTransfer",
			  data: {'investId':investId,'transferAmount':transferAmount,'transferAPR':transferAPR},
			  success: function(data){
				  console.log(data);
				if(data.success){
					location.reload();	
				}else{
					alert(data.message);
				}  
			  } 
			});
	})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值