我想使用 ajax 从 .submitApp
发送值属性。这个类没有准备好文件。此类由事件 onclick 生成。
function setApp(schedule_id, sesi_id, no_id, waktu)
{
if (document.querySelector('.submit_sesi').contains(document.querySelector('.no'+no_id))) {
alert('this session have been setted');
}else{
let para = document.createElement("button");
para.innerHTML="Sesi "+waktu+" Diset";
para.className+="btn submitApp btn-info no"+no_id+"";
para.setAttribute("onclick", "delApp('"+sesi_id+"','"+waktu+"','"+no_id+"')");
para.setAttribute("data1", schedule_id);
para.setAttribute("data2", sesi_id);
para.setAttribute("data3", no_id);
let element = document.querySelector(".submit_sesi");
element.appendChild(para);
}
}
然后我想在 submitApp 函数 onclick 中对其进行 ajax。问题出在这个函数中。
我试过这样获取多个 .submitApp
的属性
function submitApp () {
var data1;
var data2;
var data3;
var arrData = [];
$.each($('.submitApp'), function(index, val) {
arrData.push($('.submitApp'));
});
$.each(arrData, function(index, val) {
data1 = arrData.attr('data1');
data2 = arrData.attr('data2');
data3 = arrData.attr('data3');
});
console.log(data1+data2+data3);
//ajax start here...
}
它给我错误 arrData.attr() is not a function.
这是我的 html 标记
<div class="submit_sesi">
<button class="btn btn-pill btn-primary submitAppointment" onclick="submitApp()">Submit Appointment</button>
</div>
我想从多个.submitApp
中获取属性data1, data2, data3
,然后传给ajax发送给controller。 .submitApp
类中的每个 data1、data2、data3
都是不同的。我用的是 laravel
最佳答案
我认为你只需要在那里使用索引。 它将是这样的:
我把你的推送改成了 push($this) 并创建了一个新数组以包含来自不同元素的 data1、data2、data3
function submitApp () {
var data1;
var data2;
var data3;
var arrData = [];
var arrresult = [];
$.each($('.submitApp'), function(index, val) {
arrData.push($(this));
});
$.each(arrData, function(index, val) {
arrresult[index]=[];
arrresult[index][0] = val.attr('data1');
arrresult[index][1] = val.attr('data2');
arrresult[index][2] = val.attr('data3');
});
console.dir(arrresult);
//ajax start here...
}
关于javascript - 如何从多个类(?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57815359/