Я добавляю класс, выбранный и отклоненный студенту. Теперь я хочу отправить форму и отправить всех учеников класса select-student. Это мой динамический код студентов:

<form id="overideCommentForm" >
    <?php while($skillData = $skillQuery->fetch_assoc()) { ?>
        <td><span id="stu1" class="reject-student ">Not Selected</span></td>
        <td><span id="stu2" class="select-student ">Selected</span></td>
        <td><span id="stu5" class="select-student ">Selected</span></td>
        <td><span id="stu8" class="reject-student ">Not Selected</span></td>
        <td><span id="stu9" class="select-student ">Selected</span></td>
    <?php } ?>
</form>
<button id="gdFinal">Submit</button>
$("#gdFinal").click(function(){
    var jobID = 50;
    $.ajax({
        url: "gdcontroller.php",
        method: "POST",
        data: { 
            overideData : $("#overideCommentForm").serialize(), 
            'action': 'overrideStudent',
            'JobID': +jobID 
        },
        dataType: "json",
        success: function (response) {
1
Lynda Carter 11 Янв 2017 в 10:30

3 ответа

Лучший ответ

Вы можете отправить идентификатор определенного класса с помощью функции карты jquery, поэтому в приведенном выше коде вы можете использовать следующее для отправки выбранных и отклоненных пользователей следующим образом

var selected = $(".select-student").map(function() {
    return this.id;
}).get();
var reject = $(".reject-student").map(function() {
    return this.id;
}).get();
$("#gdFinal").click(function() {
    var jobID = 50;
    $.ajax({
        url: "gdcontroller.php",
        method: "POST",
        data: {
            overideData: $("#overideCommentForm").serialize(),
            'action': 'overrideStudent',
            'JobID': +jobID,
            selected: selected,
            reject: reject
        },
        dataType: "json",
        success: function(response) {
            console.log(response);
        }

    });

});
2
Ajith 11 Янв 2017 в 08:04

Чтобы отправить id учащихся из класса select-student, используйте:

var ids = [];
$("#overideCommentForm span.select-student").each(function() { // overired form is id
  ids.push(this.id);
});

Используйте это в вашем обработчике кликов и передайте это в ajax-данных.

2
Lynda Carter 11 Янв 2017 в 09:00

Я хочу отправить идентификатор студента, который имеет отборного студента

Если это ваша цель, вы можете использовать map() для построения массива атрибутов id элементов с данным классом. Попробуй это:

$("#gdFinal").click(function(){
    var jobID = 50;
    var studentIds = $('.select-student').map(function() {
        return this.id;
    }).get();

    $.ajax({
        url: "gdcontroller.php",
        method: "POST",
        data: { 
            overideData : $("#overideCommentForm").serialize(), 
            action: 'overrideStudent',
            JobID: jobID,
            students: studentIds // used here
        },
        dataType: "json",
        success: function (response) {                
            // your logic here...
        }
    });
});
2
Rory McCrossan 11 Янв 2017 в 07:37