javascript - 将动态生成的值发送到 ajax 数据

标签 javascript jquery

有这个

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/

相关文章:

对象内的 Javascript 回调

javascript - 如何在 jquery 中查找已排序的前一个元素?

javascript - Angular 2+ 检测服务内部的对象属性更改

javascript - 库存 list Dynagrid 演示

javascript - 在拼图中使用我们自己的图像

javascript - JQuery Gallery 下一个按钮无法正常工作?

javascript - 尝试使用 VueJs 和 Axios 显示对象

javascript - 尝试将 json 值与局部变量相乘时出现 NaN

javascript - Internet Explorer 11 上的 SweetAlert2 语法错误

jquery - 如何覆盖 JQuery UI 样式?