jQuery에서 확인란 값 가져 오기
jQuery에서 확인란의 값을 얻으려면 어떻게해야합니까?
Value 속성의 값을 얻으려면 다음과 같이 할 수 있습니다.
$("input[type='checkbox']").val();
또는 당신은을 설정 한 경우 class
또는 id
그것을 위해, 당신은 할 수 있습니다 :
$('#check_id').val();
$('.check_class').val();
그러나 이것은 확인 여부에 관계없이 동일한 값 을 반환합니다 . 제출 된 양식 동작과 다르기 때문에 혼란 스러울 수 있습니다.
확인 여부를 확인하려면 다음을 수행하십시오.
if ($('#check_id').is(":checked"))
{
// it is checked
}
그 두 가지 방법이 효과가 있습니다.
$('#checkbox').prop('checked')
$('#checkbox').is(':checked')
(감사합니다 @mgsloan)
$('#test').click(function() {
alert("Checkbox state (method 1) = " + $('#test').prop('checked'));
alert("Checkbox state (method 2) = " + $('#test').is(':checked'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Check me: <input id="test" type="checkbox" />
이 작은 해결책을 시도하십시오 :
$("#some_id").attr("checked") ? 1 : 0;
또는
$("#some_id").attr("checked") || 0;
확인란 값을 검색하는 올바른 방법은 다음과 같습니다.
if ( elem.checked )
if ( $( elem ).prop( "checked" ) )
if ( $( elem ).is( ":checked" ) )
jQuery 웹 사이트의 공식 문서에 설명되어 있습니다. 나머지 메소드는 확인란 의 속성 과 관련이 없으며 속성 을 확인하고 있습니다. 즉, 확인란을로드 할 때 확인란의 초기 상태를 테스트하고 있음을 의미합니다. 간단히 말해 :
- 요소가 있고 그것이 확인란이라는 것을 알면 단순히 속성을 읽을 수 있으며 jQuery가 필요하지 않거나 jQuery를
elem.checked
사용$(elem).prop("checked")
하려는 경우 사용할 수 있습니다 . - 요소가 처음로드되었을 때의 값 (즉, 기본값)을 알고 (또는 비교해야하는 경우) 올바른 방법입니다
$(elem).is(":checked")
.
답이 오해의 소지가 있으므로 아래에서 직접 확인하십시오.
일을 명확히하기 위해 :
$('#checkbox_ID').is(":checked")
'true'또는 'false'를 반환합니다
$('#checkbox_id').val();
$('#checkbox_id').is(":checked");
$('#checkbox_id:checked').val();
jQuery(".checkboxClass").click(function(){
var selectedCountry = new Array();
var n = jQuery(".checkboxClass:checked").length;
if (n > 0){
jQuery(".checkboxClass:checked").each(function(){
selectedCountry.push($(this).val());
});
}
alert(selectedCountry);
});
간단하지만 효과적이며 확인란이 있음을 알고 있다고 가정합니다.
$("#some_id")[0].checked;
제공 true
/false
//By each()
var testval = [];
$('.hobbies_class:checked').each(function() {
testval.push($(this).val());
});
//by map()
var testval = $('input:checkbox:checked.hobbies_class').map(function(){
return this.value; }).get().join(",");
//HTML Code
<input type="checkbox" value="cricket" name="hobbies[]" class="hobbies_class">Cricket
<input type="checkbox" value="hockey" name="hobbies[]" class="hobbies_class">Hockey
데모 예
이 질문에 jQuery 솔루션이 필요하다는 사실에도 불구하고 아무도 언급하지 않았으므로 순수한 JavaScript 답변이 있습니다.
jQuery없이 :
요소를 선택하고 checked
속성 (부울을 반환)에 액세스하면 됩니다 .
var checkbox = document.querySelector('input[type="checkbox"]');
alert(checkbox.checked);
<input type="checkbox"/>
다음은 change
이벤트 를 듣는 간단한 예입니다 .
var checkbox = document.querySelector('input[type="checkbox"]');
checkbox.addEventListener('change', function (e) {
alert(this.checked);
});
<input type="checkbox"/>
확인 된 요소를 선택하려면 :checked
의사 클래스 ( input[type="checkbox"]:checked
)를 사용하십시오 .
다음은 확인 된 input
요소 를 반복하고 확인 된 요소 이름의 매핑 된 배열을 반환 하는 예입니다 .
var elements = document.querySelectorAll('input[type="checkbox"]:checked');
var checkedElements = Array.prototype.map.call(elements, function (el, i) {
return el.name;
});
console.log(checkedElements);
var elements = document.querySelectorAll('input[type="checkbox"]:checked');
var checkedElements = Array.prototype.map.call(elements, function (el, i) {
return el.name;
});
console.log(checkedElements);
<div class="parent">
<input type="checkbox" name="name1" />
<input type="checkbox" name="name2" />
<input type="checkbox" name="name3" checked="checked" />
<input type="checkbox" name="name4" checked="checked" />
<input type="checkbox" name="name5" />
</div>
선택된 모든 확인란 의 값을 배열로 얻는 방법은 다음과 같습니다 .
var values = (function() {
var a = [];
$(".checkboxes:checked").each(function() {
a.push(this.value);
});
return a;
})()
다음 코드를 사용하십시오.
$('input[name^=CheckBoxInput]').val();
$('.class[value=3]').prop('checked', true);
<script type="text/javascript">
$(document).ready(function(){
$('.laravel').click(function(){
var val = $(this).is(":checked");
$('#category').submit();
});
});
<form action="{{route('directory')}}" method="post" id="category">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input name="category" value="{{$name->id}}" class="laravel" type="checkbox">{{$name->name}}
</form>
수년에 걸쳐 API가 변경되어 2018 년 현재 주목하십시오. removeAttr은 더 이상 사용되지 않으며 더 이상 작동하지 않습니다!
Jquery 체크 박스를 체크 또는 체크 해제 :
더 이상 작동하지 않습니다.
$('#add_user_certificate_checkbox').removeAttr("checked");
$('#add_user_certificate_checkbox').attr("checked","checked");
대신 다음을 수행해야합니다.
$('#add_user_certificate_checkbox').prop('checked', true);
$('#add_user_certificate_checkbox').prop('checked', false);
참고 URL : https://stackoverflow.com/questions/2834350/get-checkbox-value-in-jquery
'Programming' 카테고리의 다른 글
순수 JS 또는 jQuery로 이스케이프 키 누르기를 감지하는 방법은 무엇입니까? (0) | 2020.02.13 |
---|---|
jQuery에서 여러 CSS 속성을 정의하는 방법은 무엇입니까? (0) | 2020.02.13 |
XDocument 또는 XmlDocument (0) | 2020.02.13 |
IIS7에서 '클래식'과 '통합'파이프 라인 모드의 차이점은 무엇입니까? (0) | 2020.02.13 |
Visual Studio에서“stdafx.h”는 무엇입니까? (0) | 2020.02.13 |