js 动态添加按钮及点击事件,点击按钮时传入的值为循环完成后最后复选框的值,而不是当前复选框的值。
for (var i = 0; i < json.list.length; i++) {
var goods = json.list[i];
var checkBox = document.createElement("input");
checkBox.type = "checkbox";
checkBox.id = goods.goodsnumb;
checkBox.name = "ids";
checkBox.value = goods.goodsnumb;
var li = document.createElement("li");
li.appendChild(checkBox);
li.appendChild(document
.createTextNode(goods.goodsnumb));
$('<input type="button" onclick="selectBox(event)" value="1"/>')
var checkBox2 = document.createElement("input");
checkBox2.type = "button";
checkBox2.id = goods.goodsnumb+"bt";
checkBox2.name = goods.goodsnumb+"bt";
checkBox2.value = "选择商品信息";
checkBox2.style="margin-left:60px;";
var key=goods.goodsnumb;
checkBox2.onclick=function (){
alert(goods.goodsnumb);
//这里出错,goods.goodsnumb的值为循环完成后最后复选框的值,而不是当前复选框的值。
}
var li2 = document.createElement("li");
li2.appendChild(checkBox2);
ul.appendChild(li);
ul.appendChild(li2);
}