求助一个问题如何在onclick事件中传对象参数

nwl1816 2011-01-20 03:25:50
我在做项目中碰到一个问题如下:
<a href="javascript:;" onclick="loadData(user)">显示全部用户</a>
user是通过dwr得到的json数组,loadData()是用来把全部用户显示出来的。user的格式是user=[{id:1,username:nwl},{id:2,username:zs}]
问题是user怎么入loadData中,出错提示少"]"。
...全文
881 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nwl1816 2011-01-21
  • 打赏
  • 举报
回复
先谢谢大家加答呀,大概我还是没说清楚,我把我这两个函数发上来会的再帮我看下,user是可以直接用的,但我要做成分页,链接里也要用到loaddata函数呀。
LoadData = function(xsnr, data, d, dqyms, myms, iscz, zt) {
if (d == "user") {
var ks = (dqyms - 1) * myms;
var js = (dqyms - 1) * myms + myms;
var xsnr = $(xsnr);
if (js > data.length) {
js = data.length;
}
xsnr.innerHTML = "<table width='1000' class='table' id='xsnrb'>"
+ "<tr><td colspan='4' class = 'bt'>用户列表</td></tr>"
+ "<tr><td>序号</td><td>用户名</td><td>密码</td><td>权限等级</td></tr>"
+ "</table>";
if (iscz) {
var xsnrb = $("xsnrb");
var tr;
var td;
tr = xsnrb.rows[1];
td = tr.insertCell();
td.innerHTML = "<td>操作方法</td>"
xsnrb.rows[0].cells[0].colSpan = 5;
}
for (ks; ks < js; ks++) {
var xsnrb = $("xsnrb");
var tr;
var td;
tr = xsnrb.insertRow();
td = tr.insertCell();
td.innerText = ks + 1;
td = tr.insertCell();
td.innerText = data[ks].userName;
td = tr.insertCell();
td.innerText = data[ks].password;
var popedom = "";
for (var i = 0; i < data[ks].popedoms.length; i++) {
if (popedom == "") {
popedom = data[ks].popedoms[i].qxnr;
} else {
popedom += "," + data[ks].popedoms[i].qxnr;
}
}
td = tr.insertCell();
td.innerText = popedom;
if (iscz) {
td = tr.insertCell();
td.innerHTML = "<input type='button' name='Submit3' value='删除' onclick='xtqxgl.delgly("
+ data[ks].id
+ ")'>  "
+ "<input type='button' name='Submit' value='修改' onclick='xtqxgl.xggly("
+ data[ks].id + ")'>";
}
}
}

xbglxt.fy = function(myms, iscz, data, dqyms, col,zt,d) {
if (data.length > myms) {
var xsnrb = $("xsnrb");
var tr;
var td;
tr = xsnrb.insertRow();
td = tr.insertCell();
var yms;
if (data.length % myms == 0) {
yms = data.length / myms;
}
if (data.length % myms != 0) {
yms = Math.floor(data.length / myms + 1);
}
var xsnr = "xsnr";
var a = "<td><a title='第一页' href='javascript:onclick=\"LoadData("+xsnr+","+data+","+d+",1,"+myms+","+iscz+","+zt+")\";'><<</a></td>";
var i = 1;
for (var i; i <= yms; i++) {
a += "<a title='第" + i + "页' href='javascript:onclick=\"LoadData("+xsnr+","+data+","+d+","+i+","+myms+","+iscz+","+zt+")\";'>" + i + "</a>" + " "
}
a += "<a title='最后一页' href='javascript:onclick=\"LoadData("+xsnr+","+data+","+d+","+i+","+myms+","+iscz+","+zt+")\";'>>>>" + "</a>"
a += "                                                                                                                                                 共"
+ data.length
+ "条记录,每页"
+ myms
+ "条记录,共"
+ yms
+ "页,当前是第"
+ dqyms + "页.";
td.innerHTML = a;
td.colSpan = col;
}
}
xueqiang820320 2011-01-20
  • 打赏
  • 举报
回复
loadData解析参数出错了吧
种瓜得豆 2011-01-20
  • 打赏
  • 举报
回复
你的loadData怎么解析参数的?
sunliao_first 2011-01-20
  • 打赏
  • 举报
回复
我很疑惑这个问题,为啥一定要把user当参数传进去,应该是可以直接拿来用的
happyfmy 2011-01-20
  • 打赏
  • 举报
回复
<a href="javascript:onclick='loadData(user)'>
nwl1816 2011-01-20
  • 打赏
  • 举报
回复
不是的,user是通过另外的回调函数得到的,loadData(user)的作用是把user这个用户数组按一定的格式在表格中显示出来,上面那个链接的作用是用来分页的根据不同的user数据显示内容有很多个链接的比如说
<a href="javascript:;" onclick="loadData(user)">1</a>
<a href="javascript:;" onclick="loadData(user)">2</a>
等等,只是其中的user数据不同,我就是想知道怎么才能把user传进去,在onclick中好象只能传字符参数别的传不了,不知道有什么办法解决
happyfmy 2011-01-20
  • 打赏
  • 举报
回复
在user是通过dwr得到的,那么loadData(user)就是你的回调函数了呀,user就是返回的json对象

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧