2016-06-24 1 views
-1

일치하는 배열 항목 검사 :모든 확인란 나는 다음과 같은 HTML (반응에 대한 정말 JSX 코드,하지만 같은) 한

<div id="roles-checkboxes"> 
    <label id={role} key={index} ><input type="checkbox" name="checkbox" value={role.role} /> {role.role}</label> 
    <label id={role} key={index} ><input type="checkbox" name="checkbox" value={role.role} /> {role.role}</label>  
</div> 

내가 내 함수에 전달할 배열에 포함 된 한을 모든 확인해야 role 체크 박스 :

checkRoleBoxes(roles){ 
    $('#roles-checkboxes').each(function(){ 
     if ($.inArray($(this).val(), roles)){ 
      $(this).prop('checked', true); 
     } 
    }) 

나는 상자 일치를 찾아 내 기능에도 불구하고 확인 얻이 수없는 것, 내가 잘못 선택 속성을 설정입니까? 나도 행운이없는 $(this).attr('checked', true);를 시험해 보았다.

+1

'id' 선택기에서'each()'를 사용하면 유효하지 않은 동일한'id'를 가진 여러 요소가 있음을 나타내며, 문제의 원인이 될 수 있습니다. 이 체크 박스의'id'를 클래스로 변경하십시오. –

+0

@RoryMcCrossan 그는 부모 div를 선택하는 입력을 선택하지 않습니다. – MoustafaS

답변

0

변경 선택이 될 수 있습니다 :

$('#roles-checkboxes input') 
0

내가이 확신 : 단순히 하나 개의 사업부 반복되어

$('#roles-checkboxes').each(); 

. 아마도 다음과 같이 변경하십시오 :