我有以下文件(下面列出),将“金额1”乘以2(am1 * 2),并将“金额2”中的值更改为结果(由JavaScript执行)。
然后,同一表单可以向表单添加字段(金额1和金额2)。
我希望在其他“已添加”字段中具有相同的功能(按“数量1”乘以2并更改“金额2”的值)。
<html>
<head>
<script>
var ct = 1;
function new_combi(){
ct++;
var div1 = document.createElement('div');
div1.id = ct;
// link to delete extended form elements
var delLink = '<div style="text-align:right;margin-right:65px"><a href="javascript:delIt('+ ct +')">Del</a></div>';
div1.innerHTML = document.getElementById('amount').innerHTML + delLink;
document.getElementById('combine').appendChild(div1);
}
// function to delete the newly added set of elements
function delIt(eleId){
d = document;
var ele = d.getElementById(eleId);
var parentEle = d.getElementById('combine');
parentEle.removeChild(ele);
}
function calculate(){
am1 = document.form1["am1[]"].value;
total = am1*2;
document.form1["am2[]"].value = total;
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<div id="combine">
<div>
<table>
<tr>
<td width="25%" valign="top">Amount 1</td>
<td valign="top"><input type="text" name="am1[]" onchange="calculate()"/></td>
</tr>
<tr>
<td valign="top">Amount 2</td>
<td valign="top"><input type="text" name="am2[]" /></td>
</tr>
</table>
</div>
</div>
<p id="addnew">
<a href="javascript:new_combi()">Add Combination</a>
</p>
</form>
<!-- Template to add-->
<div id="amount" style="display:none">
<div>
<table>
<tr>
<td width="25%" valign="top">Amount 1</td>
<td valign="top"><input type="text" name="am1[]" onchange="calculate()"/></td>
</tr>
<tr>
<td valign="top">Amount 2</td>
<td valign="top"><input type="text" name="am2[]" /></td>
</tr>
</table>
</div>
</div>
</body>
</html>
答案 0 :(得分:0)
我为你尝试了一些东西。希望这会奏效。
我刚给id=1
div
div#combine
内的<div id="1">
属性。
function calculate(){
for (var i = 1; i <= ct; i++) {
var currentDiv = document.getElementById(i);
var am1 = currentDiv.getElementsByTagName('input')[0].value;
var total = am1 * 2;
currentDiv.getElementsByTagName('input')[1].value = total;
};
}
我改变了你的计算功能。
{{1}}
如果有任何问题,请尝试告诉我,因为我改变了您的实施逻辑。