2017-01-06 1 views
0

플레이어를 초대 할 수 있도록 각 게임 픽스처 내에 동적 인 폼을 만듭니다. 팀 시트를 만들 때 이름을 지정하고 목록을 만듭니다.Jquery 동적 체크 박스가 작동하지 않습니다.

/* 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+'">&nbsp;</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 때문에 그 가정합니다. 누구든지 전에이 문제를 보았습니까?

+1

콜백 내부에서 항목을 사용할 때와 같은 방식으로 인덱스 매개 변수를 사용할 수있는 경우 forEach 루프 내부에서 변수를 선언하고 증분하는 이유는 무엇입니까? 이제 id = "check"+ index + ' "'를 사용하십시오. 또는 item.p_id를 사용하여 입력의 ID도 연결할 수 있습니다. –

+1

체크 상자의 이름 속성이 동일 할 수도 있습니다. 체크 박스 세트마다 고유 한 이름을 만드십시오 ... – DouglasCamargo

답변

0

내가 JSON을 반복하고 생성 된 모든 체크 박스의 ID를 증가

if (item.r_id == 3){ 
           tmp ={ 'fore': item.forename, 
             'sur': item.surname, 
             'p_id': item.p_id 
            } 
           jsonObj.push(tmp); 
          } 

그리고 JSON 배열로 변경, 그래서 내가

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+'">&nbsp;</label></li>'; 
            m++; 
           }); 
           f += '</ul>'+ 
            '<a href="#" id="submitInvite-'+i+'" class="button submitInvite fit small">Submit</a>'+ 
            '</form></td></tr>'; 
           i++; 
          } 

저것을 만들어 얼마나 많은 문제가되지 않았다 어떻게하면 좋을까요?

관련 문제