jQuery에서 확인란 값을 검색하는 방법
jQuery 를 사용 하여 선택된 확인란 값을 가져 와서 텍스트 영역에 즉시 넣는 방법은 무엇입니까?
이 코드와 마찬가지로
<html>
<head>
</head>
<body>
<div id="c_b">
<input type="checkbox" value="one_name" checked>
<input type="checkbox" value="one_name1">
<input type="checkbox" value="one_name2">
</div>
<textarea id="t"></textarea>
</body>
</html>
이 경우 id="c_d"
업데이트됩니다 아약스 , altCognito의 코드의 아래가 작동하지 않습니다. 좋은 해결책이 있습니까?
다음은 작동하는 것입니다 ( 예 참조 ).
function updateTextArea() {
var allVals = [];
$('#c_b :checked').each(function() {
allVals.push($(this).val());
});
$('#t').val(allVals);
}
$(function() {
$('#c_b input').click(updateTextArea);
updateTextArea();
});
최신 정보
몇 개월 후 ID가 변경되면 위의 작업을 유지하는 방법에 관한 또 다른 질문이있었습니다. 솔루션은 updateTextArea 함수를 CSS 클래스를 사용하는 일반적인 것으로 매핑하고 live 함수를 사용하여 이러한 변경 사항에 대해 DOM을 모니터링합니다.
선택한 모든 확인란 값을 쉼표로 구분 된 문자열로 반환 할 수도 있습니다. 또한 매개 변수로 SQL에 보낼 때 더 쉽게 만들 수 있습니다.
다음은 쉼표로 구분 된 문자열에 이름이 "chkboxName"인 모든 선택된 확인란 값을 반환하는 샘플입니다.
그리고 여기에 자바 스크립트가 있습니다
function showSelectedValues()
{
alert($("input[name=chkboxName]:checked").map(
function () {return this.value;}).get().join(","));
}
다음은 HTML 샘플입니다
<html>
<head>
</head>
<body>
<div>
<input name="chkboxName" type="checkbox" value="one_name" checked>
<input name="chkboxName" type="checkbox" value="one_name1">
<input name="chkboxName" type="checkbox" value="one_name2">
</div>
</body>
</html>
귀하의 질문은 매우 모호하지만 이것이 필요한 것 같습니다.
$(function() {
$('input[type="checkbox"]').bind('click',function() {
if($(this).is(':checked')) {
$('#some_textarea').html($(this).val());
}
});
});
편집 : 아, 알았어 .. 거기 당신은 간다 ... 당신은 전에 HTML이 없었습니다. 어쨌든, 네가 클릭 할 때 텍스트 영역에 값을 넣으려고한다고 생각했습니다. 체크 된 체크 박스의 값을 페이지로드시 텍스트 영역에 넣으려면 (쉼표로 멋진 쉼표로 표시) 다음과 같이 간단합니다.
$(function() {
$('#c_b input[type="checkbox"]:checked').each(function() {
$('#t').append(', '+$(this).val());
});
});
편집 2 사람들이 한 것처럼, 내가 쓴 긴 선택기를 바로 가기로 할 수도 있습니다.
$('#c_b :checkbox:checked').each(function() {
$('#t').append(', '+$(this).val());
});
... 나는 그 지름길을 완전히 잊었다. ;)
이것은 나를 위해 완벽하게 작동합니다.
alert($("input[name=chkboxName]:checked").map(function() {
return this.value;
}).get().join(","));
감사합니다 Mohamed ElSheikh
귀하의 솔루션이 도움이 된 altCognito에게 감사드립니다. 확인란 이름을 사용하여이 작업을 수행 할 수도 있습니다.
function updateTextArea() {
var allVals = [];
$('[name=chkbox]:checked').each(function() {
allVals.push($(this).val());
});
$('#t').val(allVals)
}
$(function() {
$('#c_b input').click(updateTextArea);
updateTextArea();
});
다음은 약간 다른 솔루션을 찾고 있기 때문에 유용 할 수 있습니다. 내 스크립트는 입력 요소를 자동으로 반복해야하고 값을 반환해야했습니다 (jQuery.post () 함수의 경우). 확인 된 상태에 관계없이 확인란이 값을 반환하는 것이 문제였습니다. 이것은 내 해결책이었습니다.
jQuery.fn.input_val = function(){
if(jQuery(this).is("input[type=checkbox]")) {
if(jQuery(this).is(":checked")) {
return jQuery(this).val();
} else {
return false;
}
} else {
return jQuery(this).val();
}
};
용법:
jQuery(".element").input_val();
주어진 입력 필드가 체크 박스이면, input_val 함수는 체크 된 경우에만 값을 반환합니다. 다른 모든 요소의 경우 확인 된 상태에 관계없이 값이 반환됩니다.
다음은 값을 변수에 저장해야하는 경우에 대한 대안입니다.
var _t = $('#c_b :checkbox:checked').map(function() {
return $(this).val();
});
$('#t').append(_t.join(','));
(map ()은 텍스트 영역의 텍스트보다 편리한 배열을 반환합니다.)
$(document).ready(function() {
$(':checkbox').click(function(){
var cObj = $(this);
var cVal = cObj.val();
var tObj = $('#t');
var tVal = tObj.val();
if( cObj.attr("checked")) {
tVal = tVal + "," + cVal;
$('#t').attr("value", tVal);
} else {
//TODO remove unchecked value.
}
});
});
function updateTextArea() {
var allVals = $('#c_b :checked').map(function() {
return $(this).val();
}).get();
$('#t').val(allVals)
}
$(function() {
$('#c_b input').click(updateTextArea);
updateTextArea();
});
$("#t").text($("#cb").find(":checked").val())
어쨌든 다음과 같은 것이 필요할 것입니다.
var val = $('#c_b :checkbox').is(':checked').val();
$('#t').val( val );
페이지에서 첫 번째로 선택된 확인란의 값을 가져 와서 텍스트 영역에을 삽입합니다 id='textarea'
.
예제 코드에서는 확인란을 양식에 넣어야합니다.
다른 게시물의 답변을 사용하여 동일한 작업을 수행하는 데 사용하는 훨씬 쉽고 짧은 방법은 다음과 같습니다.
var checkedCities = $('input[name=city]:checked').map(function() {
return this.value;
}).get();
원래 도시는 MySQL 데이터베이스에서 검색되어 PHP while loop로 반복됩니다.
while ($data = mysql_fetch_assoc($all_cities)) {
<input class="city" name="city" id="<?php echo $data['city_name']; ?>" type="checkbox" value="<?php echo $data['city_id']; ?>" /><?php echo $data['city_name']; ?><br />
<?php } ?>
이제 위의 jQuery 코드를 사용하여 모든 city_id 값을 가져 와서 $ .get (...)을 사용하여 데이터베이스에 다시 제출하십시오.
이것은 코드가 완전히 역동적이므로 내 인생을 너무 쉽게 만들었습니다. 더 많은 도시를 추가하려면 데이터베이스에 도시를 추가하고 PHP 또는 jQuery에 대해 걱정할 필요가 없습니다.
나는 비슷한 문제가 있었고 이것이 위의 예를 사용하여 해결 한 방법입니다.
$(".ms-drop").click(function () {
$(function showSelectedValues() {
alert($(".ms-drop input[type=checkbox]:checked").map(
function () { return this.value; }).get().join(","));
});
});
이걸로 해봐..
var listCheck = [];
console.log($("input[name='YourCheckBokName[]']"));
$("input[name='YourCheckBokName[]']:checked").each(function() {
console.log($(this).val());
listCheck .push($(this).val());
});
console.log(listCheck);
확인란의 값을 확인하는 즉시 즉시 삽입하려면 다음과 같이하십시오.
$(":checkbox").click(function(){
$("#id").text(this.value)
})
참고 URL : https://stackoverflow.com/questions/786142/how-to-retrieve-checkboxes-values-in-jquery
'Programing' 카테고리의 다른 글
C ++에 가상 생성자가없는 이유는 무엇입니까? (0) | 2020.04.12 |
---|---|
문자가 문자열에 있는지 테스트 (0) | 2020.04.11 |
코드 내에 파이썬 모듈 설치 (0) | 2020.04.11 |
IntelliJ는 수입을 조직합니다 (0) | 2020.04.11 |
C ++ 애플리케이션에 리플렉션을 추가하려면 어떻게해야합니까? (0) | 2020.04.11 |