jQuery 선택한 확인란의 값을 배열로 가져옵니다.
현재 확인된 모든 확인란의 값을 가져와서 배열에 저장하려고 합니다.지금까지 제 코드는 다음과 같습니다.
$("#merge_button").click(function(event){
event.preventDefault();
var searchIDs = $("#find-table input:checkbox:checked").map(function(){
return $(this).val();
});
console.log(searchIDs);
});
하지만 이것은 내가 필요로 하는 것보다 더 많이 출력합니다.저는 가치관뿐만 아니라 제가 원하지 않는 다른 것들도 얻습니다.
["51729b62c9f2673e4c000004", "517299e7c9f26782a7000003", "51729975c9f267f3b5000002", prevObject: jQuery.fn.jQuery.init[3], context: 문서, jquery: "1.9.1", 생성자: 함수, init: 함수...]
신분증(이 경우 처음 3개 항목)만 갖고 싶습니다.
을 사용하여$.each배열에 값을 푸시하면 원하는 출력을 얻을 수 있습니다.
$("#find-table input:checkbox:checked").each(function(){ myArray.push($(this).val()); })
["51729b62c9f2673e4c000004", "517299e7c9f26782a7000003", "51729975c9f267f3b5000002"]
하지만 나는 사용하고 싶습니다.$.map코드 한 줄을 저장하고 더 예쁘기 때문입니다.
감사해요.
불러.get()결과 jQuery 개체를 실제 배열로 변환하는 맨 끝에 있습니다.
$("#merge_button").click(function(event){
event.preventDefault();
var searchIDs = $("#find-table input:checkbox:checked").map(function(){
return $(this).val();
}).get(); // <----
console.log(searchIDs);
});
반환 값은 배열을 포함하는 jQuery 개체이므로 결과에 대해 .get()을 호출하여 기본 배열로 작업하는 것이 매우 일반적입니다.
데모: http://jsfiddle.net/PBhHK/
$(document).ready(function(){
var searchIDs = $('input:checked').map(function(){
return $(this).val();
});
console.log(searchIDs.get());
});
get1920에 전화하기만 하면 사양에 적힌 대로 어레이를 받을 수 있습니다. ()
$(':checkbox').map(function() {
return this.id;
}).get().join();
추가해야 합니다..toArray()끝까지.map()기능.
$("#merge_button").click(function(event){
event.preventDefault();
var searchIDs = $("#find-table input:checkbox:checked").map(function(){
return $(this).val();
}).toArray();
console.log(searchIDs);
});
데모: http://jsfiddle.net/sZQtL/
저는 당신의 코드를 조금 수정했고 당신이 찾고 있는 해결책을 가지고 왔다고 믿습니다.기본적으로 설정하는 대신searchIDs의 결과로.map()값을 배열로 밀어 넣었습니다.
$("#merge_button").click(function(event){
event.preventDefault();
var searchIDs = [];
$("#find-table input:checkbox:checked").map(function(){
searchIDs.push($(this).val());
});
console.log(searchIDs);
});
코드가 실행되는 바이올린을 만들었습니다.
var ids = [];
$('input[id="find-table"]:checked').each(function() {
ids.push(this.value);
});
이건 나한테 효과가 있었어요!
var idsArr = [];
$('#tableID').find('input[type=checkbox]:checked').each(function() {
idsArr .push(this.value);
});
console.log(idsArr);
실제로 양식을 제출한 것처럼 HTML에서 배열로 명명된 양식 요소가 Javascript 개체의 배열이 되어야 합니다.
다음과 같은 확인란이 여러 개 있는 양식이 있는 경우:
<input name='breath[0]' type='checkbox' value='presence0'/>
<input name='breath[1]' type='checkbox' value='presence1'/>
<input name='breath[2]' type='checkbox' value='presence2'/>
<input name='serenity' type='text' value='Is within the breath.'/>
...
결과는 다음을 포함하는 개체입니다.
data = {
'breath':['presence0','presence1','presence2'],
'serenity':'Is within the breath.'
}
var $form = $(this),
data = {};
$form.find("input").map(function()
{
var $el = $(this),
name = $el.attr("name");
if (/radio|checkbox/i.test($el.attr('type')) && !$el.prop('checked'))return;
if(name.indexOf('[') > -1)
{
var name_ar = name.split(']').join('').split('['),
name = name_ar[0],
index = name_ar[1];
data[name] = data[name] || [];
data[name][index] = $el.val();
}
else data[name] = $el.val();
});
코드를 개선하는 데 도움이 되는 수많은 답변들이 있지만, 너무 복잡하거나 제가 원하는 것을 제대로 하지 못했습니다.jQuery를 사용하여 양식 데이터를 JavaScript 개체로 변환
작동하지만 개선할 수 있습니다. 1차원 배열에서만 작동하고 결과 인덱스는 순차적이지 않을 수 있습니다.배열의 길이 속성은 다음 인덱스 번호를 실제 길이가 아닌 배열의 길이로 반환합니다.
이것이 도움이 되었기를 바랍니다.나마스테!
"각"을 사용하지 마십시오.동일한 요소의 작업 및 변경에 사용됩니다."map"을 사용하여 요소 본문에서 데이터를 추출하고 다른 곳에서 사용합니다.
여기서는 페이지의 확인란 클래스를 허용하고 var를 허용하면 배열에서 확인란을 수집할 수 있으며 루프에 대해 확인된 참을 확인한 후 원하는 작업을 개별적으로 수행할 수 있습니다.여기에 사용자 정의 유효성을 설정했습니다.그것이 당신의 문제를 해결해 줄 것이라고 생각합니다.
$(".allows").click(function(){
var allows = document.getElementsByClassName('allows');
var chkd = 0;
for(var i=0;i<allows.length;i++)
{
if(allows[i].checked===true)
{
chkd = 1;
}else
{
}
}
if(chkd===0)
{
$(".allows").prop("required",true);
for(var i=0;i<allows.length;i++)
{
allows[i].setCustomValidity("Please select atleast one option");
}
}else
{
$(".allows").prop("required",false);
for(var i=0;i<allows.length;i++)
{
allows[i].setCustomValidity("");
}
}
});
언급URL : https://stackoverflow.com/questions/16170828/jquery-get-values-of-checked-checkboxes-into-array
'codememo' 카테고리의 다른 글
| macosx의 파이썬 위치 (0) | 2023.08.11 |
|---|---|
| jQuery에서 인덱스별 요소 가져오기 (0) | 2023.08.11 |
| 오라클에서 문자열의 일부를 제거하는 방법 (0) | 2023.08.11 |
| 활동, 앱 호환 활동, 조각 활동 및 작업 표시줄 활동:어떤 것을 사용해야 합니까? (0) | 2023.08.11 |
| Oracle 예외 처리 (0) | 2023.08.11 |