我在jquery成功调用javascript函数文件名,如下所示,但我无法在javascript中获取p
success: function(result) {
var htmlString = [result];
for (i = 0; i < htmlString.length; i++) {
var p = htmlString[i].Number;
$('#MyGrid tbody').append('<tr><td><a rel="' + p +
'" href="#" onclick="filename(p);" class="filePreview"></a></tr>');
}
}
如何获取文件名中的p?
感谢,
michaeld
答案 0 :(得分:2)
尝试 -
success: function(result) {
for (i = 0; i < htmlString.length; i++) {
var p = htmlString[i].Number;
$('#MyGrid tbody').append('<tr><td><a rel="' + htmlString[i].Number+ '" href="#" onclick="filename(' + p + ');" class="filePreview">/a></tr>');
}
答案 1 :(得分:1)
htmlString
是一个长度为1的数组。没有必要循环它。在我看来你可以做到:
success: function(result) {
$('<tr />').append(
$('<td />', {
rel: result.Number,
href: '#',
'class': 'filePreview',
click: function() { filename(result.Number)}
})
).appendTo('#MyGrid tbody');
}
顺便说一下。如果a
元素不包含任何文本,则任何人都无法单击该链接。
除了可能的其他错误/不良做法之外,为什么onclick="filename(p);"
不起作用?
之前声明的p
不在评估filename(p)
时可以访问的任何范围内(单击时)。它只是success
处理程序的本地。在字符串中写入字符p
与当前范围中的变量p
完全无关。
答案 2 :(得分:0)
代码中有拼写错误,您没有关闭a-tag