动态Javascript Div

动态Javascript Div,javascript,Javascript,我得去工作了 随附我有以下功能,其目的是执行基本计算。我还添加了一个功能,可以添加更多的计算框。我目前所关注的是如何告诉Javascript生成动态div,以及如何告诉它在每次单击Calculate时对每一行执行相同的计算。在此方面的协助将不胜感激。提前谢谢大家 <div id="redo"> 2 X <input type="text" id="initial"> = <input type="text" id="solved"> <input t

我得去工作了

随附我有以下功能,其目的是执行基本计算。我还添加了一个功能,可以添加更多的计算框。我目前所关注的是如何告诉Javascript生成动态div,以及如何告诉它在每次单击Calculate时对每一行执行相同的计算。在此方面的协助将不胜感激。提前谢谢大家

<div id="redo">
2 X 
<input type="text" id="initial">
= <input type="text" id="solved">
<input type="submit" value="Calculate" onclick="calculait()">
<input type="submit" value="Add Another Box" onclick="addmore()">
</div>
<div id="main"></div>

<script type="text/javascript">
function calculait(){
var first = document.getElementById('initial');
var second = document.getElementById('solved');
second.value = first.value * 2;
}
function addmore(){
var bar = document.getElementById('main');
bar.innerHTML = bar.innerHTML + "<div id='redo'>2 X 
<input type='text'   id='initial'> = <input type='text' id='solved'> 
<input type='submit' value='Calculate' onclick='calculait()'   
<input type='submit' value='Add Another Box' onclick='addmore()";
}
</script>

2 X
= 
函数计算器(){
var first=document.getElementById('initial');
var second=document.getElementById('solved');
second.value=first.value*2;
}
函数addmore(){
var bar=document.getElementById('main');
bar.innerHTML=bar.innerHTML+“2 X
=  

以下是多种方法之一。您可以使用以下HTML结构:

<div id="main">
    <div class="operation">
        2 X <input type="text" class="initial"/>=
        <input type="text" class="solved"/>
    </div>
</div>

<input type="submit" value="Calculate" onclick="calculait()"/>
<input type="submit" value="Add Another Box" onclick="addmore()"/>

2 X=
这是:

// Main container for all operations
var main = document.getElementById('main');
// Piece of HTML you'll be duplicating
var op = document.getElementsByClassName('operation')[0].outerHTML;

function calculait() {
    // Get every operation div
    var operations = document.getElementsByClassName('operation');
    // For each of them, calculate
    for(var i=0, l=operations.length; i<l; i++){
        operations[i].getElementsByClassName('solved')[0].value =
            parseFloat(operations[i].getElementsByClassName('initial')[0].value) * 2;
    }
}

function addmore() {
    main.insertAdjacentHTML('beforeend',op);
}
//所有操作的主容器
var main=document.getElementById('main');
//你将要复制的一段HTML
var op=document.getElementsByClassName('operation')[0].outerHTML;
函数计算器(){
//抓住每一个行动小组
var operations=document.getElementsByClassName('operation');
//对于每一个,计算

对于(var i=0,l=operations.length;i,这里有许多方法之一。您可以使用以下HTML结构:

<div id="main">
    <div class="operation">
        2 X <input type="text" class="initial"/>=
        <input type="text" class="solved"/>
    </div>
</div>

<input type="submit" value="Calculate" onclick="calculait()"/>
<input type="submit" value="Add Another Box" onclick="addmore()"/>

2 X=
这是:

// Main container for all operations
var main = document.getElementById('main');
// Piece of HTML you'll be duplicating
var op = document.getElementsByClassName('operation')[0].outerHTML;

function calculait() {
    // Get every operation div
    var operations = document.getElementsByClassName('operation');
    // For each of them, calculate
    for(var i=0, l=operations.length; i<l; i++){
        operations[i].getElementsByClassName('solved')[0].value =
            parseFloat(operations[i].getElementsByClassName('initial')[0].value) * 2;
    }
}

function addmore() {
    main.insertAdjacentHTML('beforeend',op);
}
//所有操作的主容器
var main=document.getElementById('main');
//你将要复制的一段HTML
var op=document.getElementsByClassName('operation')[0].outerHTML;
函数计算器(){
//抓住每一个行动小组
var operations=document.getElementsByClassName('operation');
//对于每一个,计算

对于(var i=0,l=operations.length;i如果我理解正确,我认为这段代码会有所帮助

首先,更改类的ID(ID在页面中必须始终唯一)

JSFiddle:


试一试,让我知道它是否有用!

如果我理解正确,我认为这段代码会有所帮助

首先,更改类的ID(ID在页面中必须始终唯一)

JSFiddle:


试试看,如果有帮助请告诉我!

这里有一种方法:

var计数器=0;
函数计算器(calculationId){
var first=document.getElementById('initial'+calculationId);
var second=document.getElementById('solved'+calculationId);
second.value=first.value*2;
}
函数addmore(){
计数器++;
var bar=document.getElementById('main');
var newDiv=document.createElement(“div”);
newDiv.id=“重做”+计数器;
newDiv.innerHTML=“2 X=”;
律师事务所(newDiv);
}
2x=

以下是一种方法:

var计数器=0;
函数计算器(calculationId){
var first=document.getElementById('initial'+calculationId);
var second=document.getElementById('solved'+calculationId);
second.value=first.value*2;
}
函数addmore(){
计数器++;
var bar=document.getElementById('main');
var newDiv=document.createElement(“div”);
newDiv.id=“重做”+计数器;
newDiv.innerHTML=“2 X=”;
律师事务所(newDiv);
}
2x=
HTML

Javascript

var id = 0, multiplier = 2;
var operations = document.getElementById('operations');

function addOp() {
    ++id;
    var p = document.createElement("p");
    var right = document.createElement("input");
    right.id = 'right_' + id;
    right.type = 'text';
    var result = document.createElement('input');
    result.id = 'result_' + id;
    right.type = 'text';

    p.innerHTML = multiplier + ' x ';
    p.appendChild(right);
    p.innerHTML += ' = ';
    p.appendChild(result);
    operations.appendChild(p);    
}

function calc() {
    for(var i = 1; i <= id; i++) {
        var right = document.getElementById('right_' + i);
        var result = document.getElementById('result_' + i);
        result.value = multiplier * right.value;
    }
}

addOp();
var id=0,乘数=2;
var operations=document.getElementById('operations');
函数addOp(){
++身份证;
var p=document.createElement(“p”);
var right=document.createElement(“输入”);
right.id='right_uu'+id;
right.type='text';
var result=document.createElement('input');
result.id='result_uu'+id;
right.type='text';
p、 innerHTML=乘数+x';
p、 儿童(右),;
p、 innerHTML+='=';
p、 结果;
手术治疗:儿童(p);
}
函数计算(){
对于(var i=1;iHTML

Javascript

var id = 0, multiplier = 2;
var operations = document.getElementById('operations');

function addOp() {
    ++id;
    var p = document.createElement("p");
    var right = document.createElement("input");
    right.id = 'right_' + id;
    right.type = 'text';
    var result = document.createElement('input');
    result.id = 'result_' + id;
    right.type = 'text';

    p.innerHTML = multiplier + ' x ';
    p.appendChild(right);
    p.innerHTML += ' = ';
    p.appendChild(result);
    operations.appendChild(p);    
}

function calc() {
    for(var i = 1; i <= id; i++) {
        var right = document.getElementById('right_' + i);
        var result = document.getElementById('result_' + i);
        result.value = multiplier * right.value;
    }
}

addOp();
var id=0,乘数=2;
var operations=document.getElementById('operations');
函数addOp(){
++身份证;
var p=document.createElement(“p”);
var right=document.createElement(“输入”);
right.id='right_uu'+id;
right.type='text';
var result=document.createElement('input');
result.id='result_uu'+id;
right.type='text';
p、 innerHTML=乘数+x';
p、 儿童(右),;
p、 innerHTML+='=';
p、 结果;
手术治疗:儿童(p);
}
函数计算(){

对于(var i=1;i当您使用调试器编写JavaScript时,您的代码没有解析。您可以通过点击F12在浏览器中找到一个

不要重复你自己。一个干净的解决方案是将要复制的html放入模板或类似的模板中,然后调用一个函数来复制它

使用输入类型=数字表示数字

<html>
<meta charset="utf-8">
<template id="calculate_template">
    <form id="" class="calculate_form">
        <input value="2" type="number" name="initial_1">  X 
        <input type="number" name="initial_2">    =   
        <input type="number" name="solved" disabled="disabled" >
    </form>
</template>

<div id="main">
    <button onclick="addmore();">Add Another Box</button>
    <button onclick="calculate();">Calculate</button>
</div>

<script type="text/javascript">
function calculate(){
    /*Calculates all*/
    var forms = document.getElementsByClassName('calculate_form'),
        i,
        length = forms.length;
    for(i = 0; i < length; i++){
        console.log(forms[i]);
        forms[i]['solved'].value = forms[i]['initial_1'].value * forms[i]['initial_2'].value;
    }
}
function addmore(){
    var main = document.getElementById('main');
    main.insertAdjacentHTML("beforeend", document.getElementById('calculate_template').innerHTML);
}

addmore();
</script>
</html>

X
=   
添加另一个框
算计
函数计算(){
/*计算所有*/
var forms=document.getElementsByClassName('calculate_form'),
我
长度=forms.length;
对于(i=0;i

当您使用调试器编写JavaScript时,您的代码没有进行解析。您可以通过点击F12在浏览器中找到一个

不要重复你自己。一个干净的解决方案是将要复制的html放入模板或类似的模板中,然后调用一个函数来复制它

使用输入类型=数字表示数字

<html>
<meta charset="utf-8">
<template id="calculate_template">
    <form id="" class="calculate_form">
        <input value="2" type="number" name="initial_1">  X 
        <input type="number" name="initial_2">    =   
        <input type="number" name="solved" disabled="disabled" >
    </form>
</template>

<div id="main">
    <button onclick="addmore();">Add Another Box</button>
    <button onclick="calculate();">Calculate</button>
</div>

<script type="text/javascript">
function calculate(){
    /*Calculates all*/
    var forms = document.getElementsByClassName('calculate_form'),
        i,
        length = forms.length;
    for(i = 0; i < length; i++){
        console.log(forms[i]);
        forms[i]['solved'].value = forms[i]['initial_1'].value * forms[i]['initial_2'].value;
    }
}
function addmore(){
    var main = document.getElementById('main');
    main.insertAdjacentHTML("beforeend", document.getElementById('calculate_template').innerHTML);
}

addmore();
</script>
</html>

X
=   
添加另一个框
算计
函数计算(){
/*计算所有*/
var forms=document.getElementsByClass