在javascript函数中传递参数给出错误

时间:2011-03-17 10:39:08

标签: javascript function extjs

我正在使用extjs网格,我在网格列上放置了一个渲染函数

/** 
    * function for rendering the link
    **/
    function linkRenderer(data, cell, record, rowIndex, columnIndex, store) {
        console.log(record.id);
        if  (data != null)  {
            return '<a href="javascript:void(0)" onclick="resellerwindow('+record.id+')">' + data + '</a>';
        }
        return data;
    }

点击链接时出现whatever the value of record.id is not not defined

错误

请建议我能做什么解决方案。

3 个答案:

答案 0 :(得分:1)

你的商店有idProperty套吗?将idProperty设置为用于标识唯一记录的值之一。这将确保record.id设置为值。要访问记录的所有其他值,您必须通过record.data.proerty

访问它们

更新:您需要使用转义字符,以便将字符串值正确传递给resellerwindow方法:

<a href="javascript:void(0)" onclick="resellerwindow(\''+record.id+'\')"> + data + '</a>'

答案 1 :(得分:0)

但很明显,record.id的值并未定义。 DAH!

答案 2 :(得分:0)

如果您的控制台日志的输出是一个字符串,您正在调用您的函数错误,那么如果record.id是一个字符串,则会丢失一些引号。

function linkRenderer(data, cell, record, rowIndex, columnIndex, store) {
    if  (data != null)  {
        return String.format('<a href="javascript:void(0)" onclick="resellerwindow(\'{0}\')">{1}</a>', record.id, data);
    }
    return data;
}