我正在响应一个Ajax请求,返回的对象作为数据,让我们说10-15个参数。
现在我在主页面中为每个项目添加一个表格行,如何在单击详细信息功能的另一侧时为每个项目传递此数据,而不进行另一个ajax调用或将所有参数添加为数据属性...
这是主面板上发生的事情,
function addFruitRow(data) {
$('#fruittable').append(
'<tr itemId="' + data.FruitID + '" onclick="Load_Fruit_Details($(' + data + ')); class="dRow">' +
'<td class="dCell" style="width:40px;"><img src="' + data.FruitUrl + '" class="avatar" /></td>' +
'<td class="dCell" style="vertical-align: top; padding-top:8px;"><span class="fruitItem">' + data.Family + '</span></td>' +
'</tr>');
}
使用json.stringify时编辑
<tr class="dRow" itemid="s-1-4-34-345345345-345345-3651691534-2343" onclick="loadMember1($({" address":null,"bio":null,"clientid":0,"email":"blahblah.one@frutfactory.com","isReady":0,
"mobile":"22222","name":"blah123="" haaaa","phone":"1111","pictureurl":"https:="" 2013.frutfactory.com="" us="" t3="" br="" t302062015111222="" fruits="" fruits.png",
"usersid":"s-1-4-34-345345345-345345-3651691534-2343","username":"blah123.haaaa"}));=""><td class="dCell" style="width:40px;">
<img src="https://2013.frutfactory.cm/us/t3/br/t302062015111222/fruits/fruits.png" class="avatar"></td><td class="dCell" style="vertical-align: top; padding-top:8px;">
<span class="memberItem">blah123 haaaa</span></td></tr>
真实数据:
Address: null
Bio: null
ClientID: 0
Email: "blahblah.one@frutfactory.com"
isReady: 0
Mobile: "22222"
Name: "blah123 haaaa"
Phone: "1111"
PictureUrl: "https://2013.frutfactory.cm/us/t3/br/t302062015111222/fruits/fruits.png"
UserSID: "s-1-4-34-345345345-345345-3651691534-2343"
Username: "blah123.haaaa"
__proto__: Object
点击
时出错 参数列表之后的Uncaught SyntaxError:missing)
答案 0 :(得分:2)
您可以使用JSON.stringify(data)将数据传递给load函数,然后使用JSON.parse(参数)在load函数中接收它。
示例强>
<强> EDIT1 强>
function addFruitRow(data) {
$('#fruittable').append(
'<tr itemId="' + data.FruitID +
'" onclick=\'Load_Fruit_Details($(' + JSON.stringify (data) + '));\' class="dRow">' +
'<td class="dCell" style="width:40px;"><img src="' + data.FruitUrl + '" class="avatar" /></td>' +
'<td class="dCell" style="vertical-align: top; padding-top:8px;"><span class="fruitItem">' + data.Family + '</span></td>' +
'</tr>');
}
<强> EDIT2 强>
我发现只是以stringify格式传递数据,它在Load功能中作为对象被接收。另外,我在单引号中添加了一个转义符,因为你的函数将在onclick事件调用中。
function Load_Fruit_Details(param)
{
var data=param;
}