JQuery 전 선/반 선 2 차 실효 문제 해결

최근 항목 에서 문제 가 발생 했 습 니 다.전체 선택/반 선택 기능 을 테스트 할 때 처음으로 모 상 자 를 선택/비 선택 할 때 하위 상자 의 전체 선택/반 선택 상 태 를 동기 화 할 수 있 습 니 다.그 다음 에 모 상 자 를 클릭 하면 하위 상자 가 반응 하지 않 습 니 다.
원 코드 의 대체적인 구조 관건 은 다음 과 같다.

function selectAll(obj){
    $('input[name="xxx[]"]').attr("checked",obj.checked);
}

<input type="checkbox" id="mother" name="mother" onclick="selectAll(this);"/>  

<input type="checkbox" id="son1" name="xxx[]" />  <input type="checkbox" id="son2" name="xxx[]" />  <input type="checkbox" id="son3" name="xxx[]" />  <input type="checkbox" id="son4" name="xxx[]" />  
STEP 1:정면 강 파 를 시도 합 니 다.

function selectAll(obj){
   if(obj.checked) {
    $('input[name="xxx[]"]').attr("checked", true);
   } else {
    $('input[name="xxx[]"]').removeAttr("checked");
   }
}
졸---전혀 효과 가 없다.
단계 2:인터넷 에 빠르게 검색 해 보 니 이 문 제 는 비교적 흔 하 다.이 문 제 를 만난 사람 중에서 나 는 천 리 밖 에 있어 야 한다.몇 개 를 눌 러 보 니 기본적으로 attr 대신 prop 로 해결 할 수 있다 는 것 입 니 다.어떻게 하면 다음 과 같 습 니까?

그러나 프로젝트 에 사 용 된 버 전 은 1.6 보다 낮 고 버 전 을 바 꾸 지 않 고 버 리 는 것 이 좋 습 니 다.
STEP 3:어 쩔 수 없 이 JQuery 가 버 렸 습 니 다.원생 js 쓰기 로 바 꾸 려 고 합 니 다.코드 는 다음 과 같 습 니 다.

function selectAll(obj){
 var xxx = document.getElementsByName("xxx[]");
  if(obj.checked) {
   for(var i = 0;i < xxx.length;i++) {
    xxx[i].checked = true;
   }
  } else {
   for(var i = 0;i < xxx.length;i++) {
    xxx[i].checked = false;
   }
  }
}
테스트 해 보 세 요.잘 해결 되 었 습 니 다.사실은 작은 문제 라 고 할 수 있 지만 저 에 게 시사 점 을 주 었 습 니 다.한 틀 에 국한 되 어 서 는 안 되 고 여러 각도 에서 문 제 를 생각 하면 문 제 를 잘 해결 할 수 있 습 니 다.
이상 의 JQuery 전 선/반 선 2 차 실 효 를 해결 하 는 문 제 는 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 많은 응원 부 탁 드 리 겠 습 니 다.

좋은 웹페이지 즐겨찾기