JQuery получить выбранный флажок строки и передать его в AJAX

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

 $("#user-table-form").on('submit', function(e){
        var url = $(this).attr('action');
        var method = $(this).attr('method');
        usertable.$('input[type="checkbox"]:checked').each(function(){
          var myData = $(this).parent().siblings().eq(2).text();
         alert(myData);
        });
        $.ajax({
            type: method,
            url: url,
            dataType: 'JSON',
            data: myData,
            success: function(data) {
                alert("Promocode added successfully");
                //window.location.href = "{{ route('admin.promocode')}}";
            },
            error: function(jqXHR, textStatus, errorThrown) {
                console.log(JSON.stringify(jqXHR));
                //console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
            }
        });
   }); 

когда я запускаю консоль браузера, показываю эту ошибку

user?userTable_length=10:347 Uncaught ReferenceError: myData is not defined
    at HTMLFormElement.<anonymous> (user?userTable_length=10:347)
    at HTMLFormElement.dispatch (jquery.min.js:3)
    at HTMLFormElement.r.handle (jquery.min.js:3)

Где мне нужно определить эту переменную, пожалуйста, помогите мне

1 ответ

Вопрос здесь:

usertable.$('input[type="checkbox"]:checked').each(function(){
  var myData = $(this).parent().siblings().eq(2).text();
  alert(myData);
});

переехать var myData вне цикла, как:

var myData = [];
usertable.$('input[type="checkbox"]:checked').each(function(){
  myData.push($(this).parent().siblings().eq(2).text());
});
alert(myData);
Другие вопросы по тегам