나는 jQuery에 대한 전문가는 아니지만 내 응용 프로그램에 대한 작은 스크립트를 만들려고 노력했습니다. 모든 확인란을 선택하고 싶지만 제대로 작동하지 않습니다.
처음에는 사용을 시도했고 attr
그 후에 시도 prop
했지만 뭔가 잘못되었습니다.
나는 이것을 먼저 시도했다.
$("#checkAll").change(function(){
if (! $('input:checkbox').is('checked')) {
$('input:checkbox').attr('checked','checked');
} else {
$('input:checkbox').removeAttr('checked');
}
});
그러나 이것은 작동하지 않았습니다.
다음 : 위 코드보다 더 잘 작동했습니다.
$("#checkAll").change(function(){
if (! $('input:checkbox').is('checked')) {
$('input:checkbox').prop('checked',true);
} else {
$('input:checkbox').prop('checked', false);
}
});
두 예 모두 작동하지 않습니다.
JSFiddle : http://jsfiddle.net/hhZfu/4/
답변
확인 된 속성을 설정 하려면 .prop () 를 사용해야 합니다.
$("#checkAll").click(function(){
$('input:checkbox').not(this).prop('checked', this.checked);
});
데모 : Fiddle
답변
단순히 사용 checked
의 특성 checkAll
및 사용에 사용 ) 소품 ( Checked 속성 대신 ATTR의
$('#checkAll').click(function () {
$('input:checkbox').prop('checked', this.checked);
});
check와 같은 속성에 attr () 대신 prop () 사용
jQuery 1.6부터 .attr () 메서드는 설정되지 않은 속성에 대해 undefined를 반환합니다. 양식 요소의 확인, 선택 또는 비활성화 상태와 같은 DOM 속성을 검색하고 변경하려면 .prop () 메서드를 사용합니다.
체크 박스에 대해 동일한 ID가 있으며 고유 해야합니다 . 원하지 않는 확인란 이 포함되지 않도록 종속 확인란이있는 일부 클래스를 사용하는 것이 좋습니다 . 로이 $('input:checkbox')
페이지의 모든 체크 박스를 선택합니다. 페이지가 새 확인란으로 확장되면 선택 / 선택 취소됩니다. 의도 한 동작이 아닐 수 있습니다.
$('#checkAll').click(function () {
$(':checkbox.checkItem').prop('checked', this.checked);
});
답변
완전한 솔루션이 여기 있습니다.
$(document).ready(function() {
$("#checkedAll").change(function() {
if (this.checked) {
$(".checkSingle").each(function() {
this.checked=true;
});
} else {
$(".checkSingle").each(function() {
this.checked=false;
});
}
});
$(".checkSingle").click(function () {
if ($(this).is(":checked")) {
var isAllChecked = 0;
$(".checkSingle").each(function() {
if (!this.checked)
isAllChecked = 1;
});
if (isAllChecked == 0) {
$("#checkedAll").prop("checked", true);
}
}
else {
$("#checkedAll").prop("checked", false);
}
});
});
HTML은 다음과 같아야합니다.
선택된 세 개의 확인란에 단일 확인란이 선택 및 선택 취소됩니다.
<input type="checkbox" name="checkedAll" id="checkedAll" />
<input type="checkbox" name="checkAll" class="checkSingle" />
<input type="checkbox" name="checkAll" class="checkSingle" />
<input type="checkbox" name="checkAll" class="checkSingle" />
이것이 나를 위해했던 것처럼 누군가에게 도움이되기를 바랍니다.
JS 바이올린 https://jsfiddle.net/52uny55w/
답변
사용자가 수동으로 모든 확인란을 선택하면 모든 확인란이 자동으로 선택되거나 사용자가 선택한 모든 확인란에서 그중 하나를 선택 취소하면 모두 자동으로 선택 취소되어야한다고 생각합니다. 여기 내 코드입니다 ..
$('#checkall').change(function () {
$('.cb-element').prop('checked',this.checked);
});
$('.cb-element').change(function () {
if ($('.cb-element:checked').length == $('.cb-element').length){
$('#checkall').prop('checked',true);
}
else {
$('#checkall').prop('checked',false);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<input type="checkbox" name="all" id="checkall" />Check All</br>
<input type="checkbox" class="cb-element" /> Checkbox 1</br>
<input type="checkbox" class="cb-element" /> Checkbox 2</br>
<input type="checkbox" class="cb-element" /> Checkbox 3
답변
왜 이것을 시도해 보지 않겠습니까 ( ‘form #’이 html 양식의 적절한 선택자를 넣어야하는 두 번째 줄에서) :
$('.checkAll').click(function(){
$('form#myForm input:checkbox').each(function(){
$(this).prop('checked',true);
})
});
$('.uncheckAll').click(function(){
$('form#myForm input:checkbox').each(function(){
$(this).prop('checked',false);
})
});
HTML은 다음과 같아야합니다.
<form id="myForm">
<span class="checkAll">checkAll</span>
<span class="uncheckAll">uncheckAll</span>
<input type="checkbox" class="checkSingle"></input>
....
</form>
도움이 되었기를 바랍니다.
답변
HTML :
<p><input type="checkbox" id="parent" /> Check/Uncheck All</p>
<ul>
<li>
<input type="checkbox" class="child" /> Checkbox 1</li>
<li>
<input type="checkbox" class="child" /> Checkbox 2</li>
<li>
<input type="checkbox" class="child" /> Checkbox 3</li>
</ul>
jQuery :
$(document).ready(function() {
$("#parent").click(function() {
$(".child").prop("checked", this.checked);
});
$('.child').click(function() {
if ($('.child:checked').length == $('.child').length) {
$('#parent').prop('checked', true);
} else {
$('#parent').prop('checked', false);
}
});
});
데모 :
FIDDLE
답변
내가 아는 가장 간단한 방법 :
$('input[type="checkbox"]').prop("checked", true);