我有一个包含列和行的表,单元格有一个onclick处理程序。
<tr name="row1">
<td name="col1" onclick="f1(this)">
<td name="col2" onclick="f1(this)">
<td name="col3" onclick="f1(this)">
</tr>
函数f1
将单元格标记为用户选择的单元格。这一切都按预期工作。我试图添加功能,如果用户已保存选择,然后返回到表单,我可以预先选择用户保存的正确单元格。所以我编写了这个函数,我可以从数据库中调用row
和col
的值。
function f2 (row, col) {
f1( $( 'tr[name=row'+row+']' ).find( 'td[name=col'+col+']' ) );
}
唯一的问题是,它不起作用。如果我构造完整的字符串,例如,
f1( $( 'tr[name=row1]' ).find( 'td[name=col2]' )[0])
然后它工作得很好。但它在页面中不起作用,我猜测它与参数的错误引用有关,但我无法弄清楚如何正确地进行。如何构建f1
的编程调用?
答案 0 :(得分:0)
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Titel</title>
<script>
function f2 (self) {
var col = self.attributes["name"].value;
var row = self.parentNode.attributes["name"].value;
alert(row + " " + col);
// do what you want
}
</script>
</head>
<body>
<table>
<tr name="row1">
<td name="col1" onclick="f2(this);">test1</td>
<td name="col2" onclick="f2(this);">test2</td>
<td name="col3" onclick="f2(this);">test3</td>
</tr>
</table>
</body>
</html>