有这个
var cData={};
var arr=[];
datacolumns.split(",").forEach((element)=>{
arr.push({data:element.trim()})
cData[element] = `$(#${element.trim(0)}).val()`;
});
但是当我在 ajax Data:cData 中调用 cData 时,它会将表单发送为
authorid "$(#authorid).val()"
firstname "$(#firstname).val()"
lastname "$(#lastname).val()"
sorted "$(#sorted).val()"
这里发生了什么,我零线索
最佳答案
我认为您错误地使用了反引号。如果 element
是字符串,则不需要使用它们。
var cData={};
var arr=[];
datacolumns.split(",").forEach((element)=>{
var el = element.trim();
arr.push({ data: el });
cData[el] = $("#" + el).val();
});
因此,当您执行循环时,每次都应该获得一个新的选择器:
$("#authorid").val();
$("#firstname").val();
$("#lastname").val();
$("#sorted").val();
只要这些元素具有正确的 ID 并具有 value
属性,就应该可以填充您的对象。
关于javascript - 将动态生成的值发送到 ajax 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60983160/