我正在使用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)
我需要定义该变量,请任何人帮助我
答案 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);