programing

jQuery를 사용하여 Ajax를 통해 체크박스 배열의 값을 보내는 방법은?

javamemo 2023. 11. 1. 21:55
반응형

jQuery를 사용하여 Ajax를 통해 체크박스 배열의 값을 보내는 방법은?

양식 필드(12 x n 행)가 많은 양식을 가지고 있습니다.각 행의 첫 번째 필드(제품을 나타냄)는 다음과 유사한 확인란입니다.

<input type="checkbox" class="ids" name="ids[]" value="1">

각 확인란의 값은 고유합니다.

제가 하려는 것은 확인된 값을 Ajax를 통해 처리하기 위해 PHP 스크립트로 보내는 것입니다.제가 고민하고 있는 것은 서버에 아이디를 제대로 전달하는 것입니다.저는 다음과 같은 몇 가지를 사용해 보았습니다.

$('.ids:checked').serialize();

그리고.

var ids = [];
$('.ids:checked').each(function(i, e) {
    ids.push($(this).val());
});

$.ajax({
    url: "stub",
    type: "post",
    dataType: "json",
    data: {
        'ids[]': 'ids[]='+ids.join('&ids[]=')
    },
    success: function(data) {
        // stub
    }
});

하지만 이 두 가지 모두 서버에서 이를 확인할 수 있습니다.

ids[]=104&ids;[]=105

양식 전체를 직렬화해서 보낼 수는 있지만, 그렇게 되면 데이터가 많이 전송되어 사용되지 않을 수도 있습니다.

다음 값만 보내려면 어떻게 해야 합니까?delete[]서버로?PHP가 배열로 인식하는 방식이 이상적입니까?

(아이디를 쉼표로 구분된 문자열로 보내면서 해결했지만 충분한 시간을 들여서 해결 방법을 알고 싶습니다.)

이 방법은 저에게 효과가 있었습니다.

<input type="checkbox" class="ids" name="ids[]" value="2">
<input type="checkbox" class="ids" name="ids[]" value="3">
<input type="checkbox" class="ids" name="ids[]" value="4">
<input type="checkbox" class="ids" name="ids[]" value="5">
<input type="checkbox" class="ids" name="ids[]" value="6">

<div id="response"></div>
<button id="submit">Submit</button>

<script>

$('#submit').click(function() {

$.ajax({
    url: "stub.php",
    type: "post",
    data: $('.ids:checked').serialize(),
    success: function(data) {
    $('#response').html(data);
    }
});


});
</script>

그럼 스터브에.php

var_dump($_POST);

ids를 쉼표로 구분된 문자열로 보내는 게 어때요?서버 측에서 분할하여 관련된 논리를 적용할 수 있습니다.

var ids = [];
$('.ids:checked').each(function(i, e) {
    ids.push($(this).val());
});

$.ajax({
    url: "stub",
    type: "post",
    dataType: "json",
    data: {
        'ids[]': ids.join()
    },
    success: function(data) {
        // stub
    }
});

잘 일하는 나를 위한 해결책

//get checkbox checked data as the array

var ids = new Array();
      $('input[name="ids[]"]:checked').each(function(){
         ids.push($(this).val());
      });



var dataString = 'ids='+ ids;


 $.ajax({
            type: "POST",
            url: "ajax_fees_pay_Directly.php",
            data: dataString,
            cache: false,
            success: function(data){

}
 });

언급URL : https://stackoverflow.com/questions/12433438/how-to-send-the-values-of-an-array-of-checkboxes-through-ajax-using-jquery

반응형