我正在每个游戏装置中创建动态表单,以便它们可以邀请玩家。在创建团队表时,我会命名并创建一个列表。
/* Get team players information */
if (data.team_members){
$.each(data.members,function(index,item){
if (data.r_id <= 2){
members += '<tr class="refresh"><td style="padding: 0.20em;">'+
'<a href="#">'+item.forename+' '+item.surname+'</a>'+
'</td><td style="padding: 0.20em;">'+item.role;
}else{
members += '<tr class="refresh">'+
'<td style="padding: 0.20em;">'+item.forename+' '+item.surname+'</td>'+
'<td style="padding: 0.20em;">'+item.role;
}
if (item.r_id == 3){
invite += '<li>'+item.forename+' '+item.surname+
'<input type="checkbox" id="check'+i+'" name="invites[]" value="'+item.p_id+'" checked/>'+
'<label style="float:right;" for="check'+i+'"> </label></li>';
i++;
}
members += '</td></tr>';
});
$("#team_list > tbody:last-child").append(members);
}
麻烦的是复选框,我创建了一个var邀请,所有玩家的名字都进入了变量。稍后在代码中,我添加了动态表单
f +='</center></td></tr><tr><td class="invite_form-'+i+'" style="display:none;">'+
'<form id="iForm'+i+'" name="addIForm'+i+'"><ul class="alt">'+invite+'</ul>'+
'<a href="#" id="submitInvite'+i+'" class="button submitInvite fit small">Submit</a>'+
'</form></td></tr>';
i++;
}
页面加载完毕,我可以打开表格了。第一种形式有效,我可以单击复选框。当我打开第二个窗体时,复选框单击第一个窗体。
我认为这是因为复选框ID的原因。有人遇到过这个问题吗?
将其更改为Json数组
if (item.r_id == 3){
tmp ={ 'fore': item.forename,
'sur': item.surname,
'p_id': item.p_id
}
jsonObj.push(tmp);
}
然后,我循环遍历json并为创建的每个复选框增加了id,所以我创建了多少个都没关系
f +='</center></td></tr><tr><td class="invite_form-'+i+'" style="display:none;">'+
'<form id="iForm-'+i+'" name="addIForm-'+i+'"><ul class="alt">';
$.each(jsonObj, function(index, item) {
f += '<li>'+item.fore+'<input type="checkbox" id="check-'+m+'" name="invites[]" value="" checked/>'+
'<label style="float:right;" for="check-'+m+'"> </label></li>';
m++;
});
f += '</ul>'+
'<a href="#" id="submitInvite-'+i+'" class="button submitInvite fit small">Submit</a>'+
'</form></td></tr>';
i++;
}
那就是我这次的解决方法
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句