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

标签 javascript jquery asp.net-mvc

我在表中有一个 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/

相关文章:

javascript + django - 类型错误 : X is undefined

javascript - getPlace 函数无法在 React 中与 Google Autocomplete 配合使用

JQuery - 迭代值的集合

asp.net - 检查文件是否复制完成

asp.net-mvc - ASP.NET MVC 5 如何在 Identity 2.0 中删除用户及其相关数据

javascript - 如何向构造函数创建的 javascript 对象的所有实例添加数据/函数?

javascript - 检查复选框是否被选中(js/jquery)

javascript - 如何撤消 $( "button").remove()?

javascript - 根据 Javascript 中检测到的屏幕分辨率重定向到 PHP 中的响应式网站

ASP.NET MVC 查看用户控件 - 如何设置 ID?