function f()
{
for(var i=0;i<5;i++)
{
for(var j=0;j<5;j++) document.write("<input type='checkbox' name='"+i+" "+j+"' onclick='select()'>");
document.write("<br>");
}
}
function select()
{...} 本意是想在脚本中来初始化一个5*5范围的复选框,现在的问题就是我不知道该如何添加onclick事件,我上面的写法是错的,因为它找不到相应的方法,我想问下照我这个意思,该如何写代码呢?
高手给个思路吧,谢谢!
document.getElementById(id).onclick=select;
你换成:selects();试一下。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function select(rowIndex, colIndex) {
alert("row:" + rowIndex + "col:" + colIndex);
}; function createElement(tagName, propArr) {
var tagInput = document.createElement(tagName); for (var prop in propArr) {
tagInput[prop] = propArr[prop];
}
return tagInput;
}
window.onload = function() { var container = document.getElementById('container');
for (var rowIndex = 0; rowIndex < 5; rowIndex++) { for (var colIndex = 0; colIndex < 5; colIndex++) {
var checkbox = createElement('input', { type: 'checkbox',
onclick: function(rowIndex, colIndex) {
return function() {
select(rowIndex, colIndex);
};
}(rowIndex, colIndex)
}); container.appendChild(checkbox);
} container.appendChild(createElement('br'));
}
};</script>
</head>
<body>
<div id="container"></div>
</body>
</html>
你的问题主要还是DOM第0级事件模型没掌握。
顺便把你的代码搞的优雅了一点
var div = document.getElementById('container');
先得到事件标签对象引用然后div.onclick = function() {
你要实现的功能
}也就是说,你可以先document.write你的标签。标签里加上id,但是去掉onclick
在用getElement,再.onclick就可以了