//有这样的使用场景,消费后有一笔账单,账单中有消费明细,消费明细要和还款相互匹配,
//如果前端用人工去确认,那么明细要和还款明细一对一匹配,如果选择了还款明细,那么下一笔消费明细中就不显示已经使用过的还款明细
//consumeId,payId每次选择后,就会形成这样的组合,并且标识已经选择的明细记录
//用consumeId-payId这样的标识作为标志,如果使用单独的标识就会出问题
//1.选择payDetailRadio时坐标识,包括切换radio
var consumeIdAndPayIdMark=[];
function selectBankFlowRadio(consumeId){
var payId = $("input[name='pay']:checked").attr('id');
var len=consumeIdAndPayIdMark.length;
var newConsumeIdAndPayId=consumeId+"-"+payId;
var flag=false;
var index;
index=consumeIdAndPayIdMark.indexof(newConsumeIdAndPayId);
if(index>-1){
flag=true;
}
//查询标识中是否已经存在这样的consumeId配对,如果下次切换payId时,先把这个删掉,防止出现一对二的情况
for(var i=0;i<consumeIdAndPayIdMark.length;i++){
var temp=consumeIdAndPayIdMark[i];
if(temp.split("-").indexof(consumeId)>-1){
consumeIdAndPayIdMark.remove(temp);
}
}
if(!flag){
consumeIdAndPayIdMark.push(newConsumeIdAndPayId);
}
}
//取消radio选择按钮应该做的事情
function cancelRadioSelect(consumeId){
var payId =$("input[name='pay']:checked").attr("id");
var newConsumeIdAndPayId=consumeId+"-"+payId;
if(consumeIdAndPayIdMark.indexof(newConsumeIdAndPayId)>-1){
consumeIdAndPayIdMark.remove(newConsumeIdAndPayId);
//取消选择的状态
$("input[name='pay']:checked").attr("checked",false);
}
}
//在每次做payInfo渲染的时候通过状态标识,来进行渲染
function showPayInfo(consumeId,payId){
var newConsumeIdAndPayId=consumeId+"-"+payId';
var used="";
if(consumeIdAndPayIdMark.indexof(newConsumeIdAndPayId)>-1){
console.log("already choose "+newConsumeIdAndPayId+"oneToOne...");
console.log("this info message radio checked");
}else{
//上面标识了已经选择的一对一关系
for(var i=0;i<consumeIdAndPayIdMark.length;i++){
if(consumeIdAndPayIdMark[i].split("-").indexof(payId)>-1){
//这里要查找到已经使用过的payId,做标识
used=true;
}
}
if(!used){
//如果没有使用过,则显示payInfo
console.log("this pay message radio unchecked");
}else{
console.log("this pay message hide,show in other consumeInfo");
}
}
}
//对数组的操作
Array.prototype.indexof=function(val){
for(var i=0;i<this.length;i++){
if(this[i]==val) return i;
}
return -1;
};
Array.prototype.remove=function(val){
var index=this.indexof(val);
if(index>-1){
this.splice(index,1);
}
};