jquery获取选中的复选框行并在ajax中传递它

时间:2017-04-26 10:26:57

标签: javascript jquery ajax datatables

我正在使用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 个答案:

答案 0 :(得分: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);