将值传递给函数

时间:2012-04-26 12:27:00

标签: javascript jquery arrays function parameter-passing

当我尝试传递此值时,我收到此错误

  

09不是合法的ECMA-262八进制常量[打破此错误]

     

linkClicked(SS-10-04-2012-0199)

     

javasc ... 2-0199)(第1行,第26行)SS未定义

不确定它是什么意思,尝试事先将值转换为字符串等但是它根本不会读取

for(var i=0; i < resultArray.length; i++){
var temp = resultArray[i].pp_order_details_id;
$('#results').append('<tr><td><a href="javascript:linkClicked(' + temp + ')">' + resultArray[i].pp_order_details_id + '</a></td><td>' + resultArray[i].order_ref + '</td><td>' + resultArray[i].status + '</td></tr>');
}

以上是将数据写入表格的位置 用户应单击该链接,并将pp_order_details_id传递给下面的linkClicked函数

function linkClicked(orderno) {
$.post("../../order/get-order.php", {
    orderRef: orderno
}, function (data) {
    if (data.match("set")) { $('#my_order_details').fadeOut("fast").load('index#my_order_details').fadeIn("fast");
    }
});
}

我可能做错了,因为我不习惯,但以为我会问

1 个答案:

答案 0 :(得分:1)

通过查看错误消息,这是您对linkClicked的调用:

linkClicked(SS-10-04-2012-0199)

但是你需要传递一个字符串。请注意添加了转义的'字符:

$('#results').append('<tr><td><a href="javascript:linkClicked(\'' + temp + '\')">' //...

这会导致呼叫看起来像这样:

linkClicked('SS-10-04-2012-0199')