JavaScript为动态按钮和输入创建函数

时间:2017-12-31 03:32:04

标签: javascript function dynamic element

我使用以下代码创建了iX2按钮和i文本框:



function AddIt(){
	
for (var i=1; i < 4; i++) {	

var tr = document.createElement("tr");
var td = document.createElement("td");
var button = document.createElement("button");
var button2 = document.createElement("button");
var input = document.createElement("input");
tr.id= "tr"+[i];
td.id= "td"+[i];

button.id= "BT"+[i];
button.innerHTML = "BT"+[i];
button.name= "BT";
button.classList.add("BT");


button2.id= "BT"+[i]+".1";
button2.innerHTML = "BT"+[i]+".1";
button2.name= "BT2";
button2.classList.add("BT2");


input.id="TB"+[i];
input.style="width:40px"
input.value = "TB"+[i];


var Table = document.getElementsByTagName("Table")[0];
Table.append(tr);
Table.append(td);
td.append(button);
td.append(button2);
td.appendChild(input);
 
};
}; 
&#13;
<input type="button" value="Add Textbox" onClick="AddIt()">
<table id="Table" name= "Table" cellpadding="5" border="0" >
  <tbody>
  <tr>
  </tr>
  </tbody>
</table>
&#13;
&#13;
&#13;

所以它在表格的每一行创建了2个按钮和1个文本框

现在我想为&#34;每个按钮&#34;添加一个功能,以便 第一行的第一个按钮将第一个文本框的值更改为1,和 该行的第二个按钮,将第一个文本框的值更改为0。 等等。

任何帮助表示赞赏!!!

1 个答案:

答案 0 :(得分:1)

这是一个代码片段,它将1/0输入到文本框中。

for (var i=1; i < 4; i++) { 

var tr = document.createElement("tr");
var td = document.createElement("td");
var button = document.createElement("input");
var button2 = document.createElement("input");
var input = document.createElement("input");

button.type="button";
button.id= "BT"+[i];
button.value = "BT"+[i];
button.classList.add("BT");

button2.type="button";
button2.id= "BT"+[i]+".1";
button2.classList.add("BT2");
button2.value ="BT"+[i]+".1";

input.id="TB"+[i];

function assign(textElt){
button.onclick = function(){ textElt.value = 1; }
button2.onclick = function(){ textElt.value = 0; }
}

var Table = document.getElementsByTagName("Table")[0];
Table.append(tr);
Table.append(td);
td.append(button);
td.append(button2);
td.appendChild(input);

assign(input);
};
<table>
</table>