최근 에이 영화는 모두 선택된 확인란 함수를 제공하도록 설계되어야합니다.
오, 이건 아주 단순한 것이 아니야? 하나의 일반 확인란, n 다중 하위 체크 박스. 일반 확인란이 선택되면 모든 하위 체크 박스가 선택됩니다. 일반 확인란이 선택되지 않으면 하위 체크 박스가 선택되지 않습니다.
이 작은 요청을받은 후, 나는 비밀리에 행복했습니다. 얼마나 간단한 기능이든, 2 분 안에 이루어질 것입니다 ~~~
시간이 지남에 따라 시간이 지났고, 내 마음 속의 대초원의 말은 항상 수천만 명으로 점차 증가했습니다 ~~~
이것으로 무슨 일이 일어나고 있습니까?
alert ($ ( "#checkbox_all"). attr ( "checked"));
항상 정의되지 않았습니까?
나니? ? ?
왜 이런 일이 일어나고 있습니까? ? 당신은 브라우저에서 바보입니까? 그런 다음 크롬에서 IE, 즉 Firefox에 이르기까지 브라우저를 결정적으로 변경합니다. 결과는 -_- ||입니다
jQuery가 개선되었을 수 있습니까? ? ? ?
허블 망원경과 HD 레이저 전자 현미경으로 확인한 후 마침내 단서를 찾았습니다. . . .
jQuery 버전 1.6에서 수정 된 것으로 나타났습니다.
[페이지가 초기화 될 때 확인 된 속성이 초기화되었으며 상태 변경에 따라 변경되지 않습니다.
즉, 페이지가로드 된 후 확인란이 선택되면 반환 된 것이 항상 확인됩니다 (처음부터 선택하지 않았습니다).
처음에 선택되지 않으면 반환 된 사람은 항상 정의되지 않습니다! 】
jQuery는 이것을 변경 했으므로 해당 더 나은 솔루션이 있어야합니다.
.prop ()는이 문제를 해결하는 무기입니다!
특정 사용량은 다음과 같습니다.
alert ($ ( "#checkbox_all"). prop ( "checked"));
이 시점에서는 ~~가 참 또는 거짓이 될 것입니다
따라서이 스트림의 코드는 다음으로 변경되었습니다.
#check_all은 모두 선택한 총 확인란이며 #check_children은 자식 확인란입니다.
코드 사본은 다음과 같습니다.
$ ( "#check_all"). Change (function () {
$ ( '. Check_Children'). prop ( "Checked", this.Checked);
});
또는:
코드 사본은 다음과 같습니다.
$ ( "#check_all"). Change (function () {
var is_checked = $ (this) .prop ( "Checked");
$ ( '. Check_Children'). prop ( "Checked", is_checked);
});
그러나 나는 여전히 첫 번째 방법을 매우 사용하는 것을 좋아합니다. 코드가 적을수록 ~~ 쓰기가 좋아지면 더 많은 일을합니다!
모든 것을 선택하는 문제를 해결하는 것이 매우 편리합니다 ~~~