Mam datatable z wartością numeryczną w pierwszej kolumnie <tr><td> wiersz.

Chcę kliknąć ten wiersz i przeanalizuj tę wartość na stronę PHP, aby przypisać tę liczbę w sesję.

Miałem poniżej fragment kodu, ale to nie robi pchnięcie.

selected to klasa rzędu, kiedy klikam na nim.

$(".selected td").click(function(parsegroupid) {
    var group_id = $(this).attr('data');

    $.ajax({
        url: "./includes/indexPage/assign_session.php",
        type: "post",
        data: {
            id: group_id
        },
        success: function(response) {
        }
    });
});

To jest mój kod PHP:

<?php
ob_start();
if (session_id() == '') {
    session_start();
}


$GrpID = $_POST['group_id'];

$_SESSION['grp'] = $GrpID;


ob_end_flush();
?>

Poniżej znajduje się zrzut ekranu wiersza po wybraniu. Wprowadź opis obrazu tutaj

0
Cyber 27 czerwiec 2017, 15:37

4 odpowiedzi

Najlepsza odpowiedź

Po pierwsze, musisz sprawdzić, czy wykonany zostanie połączenie AJAX. Na podstawie twoich poprzednich komentarzy wydaje się, że się nie dzieje.

Możesz spróbować określić identyfikator tabeli w zdarzeniu OnClick:

$("#table_id tbody").on( 'click', 'tr', function (){

    var group_id = $(this).find("td:first-child").text();

    $.ajax({
        url: "./includes/indexPage/assign_session.php",
        type: "post",
        data: {
            id: group_id
        },
        success: function(response) {
        }
    });
}
2
mufax 27 czerwiec 2017, 13:10

Idź z tym kodem.

Opublikujesz id i group_id jest twoją wartością i dodano $_POST['group_id'] zamiast $_POST['id'].

Mam nadzieję, że to pomoże ci :)

<?php
ob_start();
if (session_id() == '') {
    session_start();
}


$GrpID = $_POST['id']; // Change here

$_SESSION['grp'] = $GrpID;


ob_end_flush();
?>
0
Nirav Joshi 27 czerwiec 2017, 12:45

Jeśli identyfikator znajduje się w komórce i nie jako atrybutu, spróbuj tego:

var group_id = $(this).html();
1
Ivan G. 27 czerwiec 2017, 12:52

Zmień zmianę w pliku assign_session.php, przekazuje wartość w id i próbuje uzyskać dostęp do wartości group_id.

Zamiast $_POST['group_id'] użyj $_POST['id']

Zmień kod jak poniżej

<?php
ob_start();
if (session_id() == '') {
    session_start();
}


$GrpID = $_POST['id']; // change 

$_SESSION['grp'] = $GrpID;


ob_end_flush();
?>
1
Narayan 27 czerwiec 2017, 12:44