需求
项目中有个列表,选中后计算对应行的数据,其实很多时候都用到,现在总结一下为以后需要的时候借鉴。
页面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);
}
}
});
})