gpt4 book ai didi

javascript - 如何在js函数中传递一个对象作为函数参数?

转载 作者:行者123 更新时间:2023-11-28 14:31:20 26 4
gpt4 key购买 nike

我在表中有一个 jquery foreach 附加列表。我想要的是传递从 ajax 成功函数获取的完整对象。但是当我尝试将对象作为参数传递给不同的 JS 函数时,该参数未定义。

这是我的附加表格:

$.ajax({

type: "post",
url: "@Url.Content("~/Estimate/GetOffsetLetterHeadCost
")",
data: $('#OffLetterHeadForm').serialize(),
datatype: "json",
traditional: true,
success: function(data) {

var Json = data;

$.each(Json, function(index, obj) {


var row = '<tr>' + '<td style="padding:10px" > <b style="font-size:18px">' + obj.VendorName + '</b> </td> ' + '<td><label id="machineId' + index + '">' + obj.MachineName + ' < / label > < /td > ' + '<td> <input type="button" value="Order" id="btn' + index + '"onclick = "SaveOffsetOrder(obj)" / > < /td></tr > ';

$("#AllVendorsList").append(row);

});

}
});


function SaveOffsetOrder(obj) { // here i am getting obj undefined
// do something with obj
}
<table id="AllVendorsList" class="table table-striped table-hover  " style="font-size:14px; font-family:'Trebuchet MS'"></table>

请帮忙..谢谢

最佳答案

您需要将 onclick 指定为 onclick='SaveOffsetOrder( + JSON.stringify(obj) + )' 注意前面的单引号SaveOffsetOrderJSON.stringify(obj) 将创建 onclick 函数作为 SaveOffsetOrder({"name":"test"}) 这是正确的。

var obj = {name: 'test'};
var html = `<input type="button" value="Order" id="btn' + index + '"
onclick='SaveOffsetOrder(` + JSON.stringify(obj) + `)' />`;
document.getElementById('content').innerHTML = html;

function SaveOffsetOrder(obj){
console.log(obj);
}
<div id='content'></div>

关于javascript - 如何在js函数中传递一个对象作为函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51424377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com