//向查询条件页面增加已选择的人员 function add(){ var arrOperatorName = new Array(); var arrOrgName = new Array(); <% for(int i = 0; i < arrOperatorId.length; i++){ %> arrOperatorName[<%=i%>] = '<%=arrOperatorName[i]%>'; arrOrgName[<%=i%>] = '<%=arrOrgName[i]%>'; <% } %> var cks = document.all("checkall"); for(var i = 0; i < cks.length; i++){ if(cks[i].checked == true){ var operatorID = cks[i].value; //var operatorName = document.all("operatorName" + i).value; var myTable = parent.document.all("myTable"); var len = myTable.rows.length;
var objRow = myTable.insertRow(len); objRow.align = "center"; var objCel0 = objRow.insertCell(0); var objCel1 = objRow.insertCell(1); objCel0.className = "fb_result_content"; objCel1.className = "fb_result_content"; objCel0.innerText = arrOperatorName[i]; var selOperatorID = parent.document.createElement("<input type=\"hidden\" name=\"selOperatorID\"/>"); var selOperatorName = parent.document.createElement("<input type=\"hidden\" name=\"selOperatorName\"/>"); var selDelete = parent.document.createElement("<input type=\"button\" name=\"selDelete\" value=\"删除\"/>"); selDelete.attachEvent("onclick",function(){selDel(len);});
试试下面 var table=document.createElement("table"); for(var i=0;i<10;i++) { var row=table.insertRow(); var cell=row.insertCell(); var btn=document.createElement("input"); btn.type="button" cell.appendChild(btn); btn.value="第"+i+"行"; bindEvent(btn,i); } document.body.appendChild(table);
function bindEvent(obj,param) { obj.attachEvent("onclick",function(){alert("这是第"+param+"行");}); }
function(len){ ...... var selDelete = document.createElement(" <input type=\"button\" name=\"selDelete\" value=\"删除\"/> "); selDelete.id=len selDelete.onclick = selDel(len);//这里有问题,selDel也是一个函数 } function selDel(){
selDelete=document.createElement("<input type=\"button\" name=\"selDelete\" value=\"删除\" onclick=\"selDel("+len+")\"/>");
selDelete=document.createElement("<input type=\"button\" name=\"selDelete\" value=\"删除\" onclick=\"selDel("+len+")\"/>");
function add(){
var arrOperatorName = new Array();
var arrOrgName = new Array();
<%
for(int i = 0; i < arrOperatorId.length; i++){
%>
arrOperatorName[<%=i%>] = '<%=arrOperatorName[i]%>';
arrOrgName[<%=i%>] = '<%=arrOrgName[i]%>';
<%
}
%>
var cks = document.all("checkall");
for(var i = 0; i < cks.length; i++){
if(cks[i].checked == true){
var operatorID = cks[i].value;
//var operatorName = document.all("operatorName" + i).value;
var myTable = parent.document.all("myTable");
var len = myTable.rows.length;
var objRow = myTable.insertRow(len);
objRow.align = "center";
var objCel0 = objRow.insertCell(0);
var objCel1 = objRow.insertCell(1);
objCel0.className = "fb_result_content";
objCel1.className = "fb_result_content";
objCel0.innerText = arrOperatorName[i];
var selOperatorID = parent.document.createElement("<input type=\"hidden\" name=\"selOperatorID\"/>");
var selOperatorName = parent.document.createElement("<input type=\"hidden\" name=\"selOperatorName\"/>");
var selDelete = parent.document.createElement("<input type=\"button\" name=\"selDelete\" value=\"删除\"/>");
selDelete.attachEvent("onclick",function(){selDel(len);});
objCel0.appendChild(selOperatorID);
objCel0.appendChild(selOperatorName);
objCel1.appendChild(selDelete);
}
}
}
function selDel(len){
alert("len:"+len);
} 这里代码执行没有问题,不过alert("len:"+len);里的len始终是最后一条?
var selDelete = parent.document.createElement("<input type=\"button\" name=\"selDelete\" value=\"删除\"/>");
//selDelete.attachEvent("onclick",function(){selDel(len);});
(function(x){ x.attachEvent("onclick",function(){selDel(x);}); })(len);
参照这个帖子:
http://topic.csdn.net/u/20080215/11/dddb2c62-d592-4fd9-8aa5-65edf7de8a5d.html不过还是有问题
+" onclick=\"selDel("+len+")\"/>"; //========
objCel0.appendChild(selOperatorID);
objCel0.appendChild(selOperatorName);
objCel1.innerHTML=selDelete;//========
var len = myTable.rows.length; 而且我觉得你的这个len应该是固定的吧??你是传递len还是循环变量i??
function selDel(len){
alert("len:"+len);//打印出来的都是最后一行
}
这个也是需要循环才可以
这个也是需要循环才可以
这种方法是肯定不行的!这里的len肯定是动态的。
造成总是取最后一行的原因应该是selDelete.attachEvent("onclick",function(){selDel(len);});
这里的function(){selDel(len);}是最后才执行的,我想
还有谁遇到过
var table=document.createElement("table");
for(var i=0;i<10;i++)
{
var row=table.insertRow();
var cell=row.insertCell();
var btn=document.createElement("input");
btn.type="button"
cell.appendChild(btn);
btn.value="第"+i+"行";
bindEvent(btn,i);
}
document.body.appendChild(table);
function bindEvent(obj,param)
{
obj.attachEvent("onclick",function(){alert("这是第"+param+"行");});
}
......
var selDelete = document.createElement(" <input type=\"button\" name=\"selDelete\" value=\"删除\"/> ");
selDelete.id=len
selDelete.onclick = selDel(len);//这里有问题,selDel也是一个函数
}
function selDel(){
alert(this.id)}
刚看到你发的第一个帖子我估计是你想把len的值传到selDel()它里面,我用了一个笨方法把就是赋值给id 然后在取id就把len传过去了÷估计应该能行
复制你的东西忘记了改把上面的改一下