按钮点击

时间:2016-11-28 17:42:18

标签: javascript jquery json

在Ajax中调用动态填充数据。

要求:如果我们点击按钮填充后,它应该调用JavaScript函数以及传递对象所需的函数。 在JavaScript中,我们需要使用value.id,value.title,value.description等来访问数据.....(预期结果) 但我无法从函数参数中获取数据,我尝试使用 stringify,解析方法,但没有。

请告诉我,如何在JavaScript函数中访问?

success : function(data) {
 var listData = null;
 $.each(data.documentsList,function(index, value) { 
   //some logic ----------(iam able to get value.id, value.title, value.description...)
   listData += '<button value="Update" onclick="updateDocument(\''+ value + '\')">Update</button>'
   //some logic ----------
  });//each loop end
 $('#list').html(listData);
 },//success end

function updateDocument(document) {
    console.log("updateDocument" + document);  //[object object]
    console.log(document.title); //undefined
}

1 个答案:

答案 0 :(得分:0)

您的代码存在的问题是value已被字符串化为[object object]。你可以通过在DevTools中观察你的html来检查它。

这就是为什么函数从不接收原始对象,因此属性(id,value等)是undefined

我建议将从AJAX收到的原始数据保存在变量中,并在HTML中连接项目的id。因此,在updateDocument()中,您首先需要在列表中搜索收到的ID,然后对其进行操作。

另一种方法是使用JSON.stringify(value)并将结果与​​HTML连接起来。收到updateDocument()中的值后,解析收到的JSON,并对其采取行动。但这会使你的HTML笨拙而冗长。