ok_vince
2015-10-13 12:50
采纳率: 33.3%
浏览 1.8k
已采纳

关于jquery的datagrid 插件中a标签传值的问题

想做一个"是否删除+名字"的效果
datagrid 页面代码如下:

    formatter : function(value, rowData, rowIndex) {
                                    return "<a href='javascript:del("
                                            + rowData.id + ","
                                            + rowData.name
                                            + ")'>删除</a>";
                                },

引用的function如下:

 function del(id, name) {   
        alert("进来了");
        if (confirm("是否删除编号" + name + "的图书?")) {
            $.ajax({
                url : "delById.action?tbBooks.id=" + id,
                success : function() {
                    alert("删除成功!!!");
                    location.href = "index.jsp";
                }
            });
        }
        ;

页面端如上面写,del()方法一点反应都没有,而如果只传入ID 如下:

    formatter : function(value, rowData, rowIndex) {
                                    return "<a href='javascript:del("
                                            + rowData.id 
                                            + ")'>删除</a>";
                                }

这样是可以进入del()方法的,而如果只传rowData.name进去,del()方法也是反映的,rowData.name和rowData.id都是有值的,再页面端指着“删除“也能显示
“javascript:del(1,三国志)”
这样的效果,就是点击的话一点反应都没有,是因为rowData.name有问题还是在这里只能传一个参数
ps: 我拿了个button的onclick事件调用del(id,name)方法
却是可行的····

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 已采纳

    你的name要用引号扩起,单做字符串传递,要不你传递的就是三国志这个变量名称了,你肯定没定义过就出错了

     return "<a href='javascript:del("
                                                + rowData.id + ",\""
                                                + rowData.name
                                                + "\")'>删除</a>";
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • ok_vince 2015-10-14 05:47

    果然是没加引号的问题, 当时以为加了引号会把 rowData.name 这东西变成字符串,而且没想到可以用转义符转义···(/ □ )
    只是觉得不解,为何 rowData.name 为何不打引号 会变成变量名·····

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题