Javascript 多输入平均值
我正在尝试这样做,以便id为“totes”的h1将显示所有输入的平均值。包括我点击“计算”按钮时添加的。我该怎么做?此外,如何防止输入中接受非数字Javascript 多输入平均值,javascript,jquery,input,Javascript,Jquery,Input,我正在尝试这样做,以便id为“totes”的h1将显示所有输入的平均值。包括我点击“计算”按钮时添加的。我该怎么做?此外,如何防止输入中接受非数字 $(文档).ready(函数(){ $(“#新建”)。单击(函数(){ $('#inp')。附加(“”) }); }); 0 创造 计算像这样试试 计算某个变量的所有输入值 然后在单击计算按钮时,将平均值添加到totesid 对于,只需将输入类型更改为数字。只允许在输入上键入数字 $(文档).ready(函数(){ $(“#新建”)。单击(函数
$(文档).ready(函数(){
$(“#新建”)。单击(函数(){
$('#inp')。附加(“”)
});
});代码>
0
创造
计算
像这样试试
计算某个变量的所有输入值
然后在单击计算按钮时,将平均值添加到totes
id
对于,只需将输入类型更改为数字。只允许在输入上键入数字
$(文档).ready(函数(){
$(“#新建”)。单击(函数(){
$('#inp')。附加(“”)
});
var t=0;
$('#calc')。单击(函数(){
$('input')。每个(函数(){
t+=parseFloat($(this).val()| 0)
})
$('#totes').html(t/$('input').length)
})
});代码>
0
创造
算计
这是您的另一个解决方案
$(文档).ready(函数(){
$(“#创建”)。单击(函数(){
$('#inp')。附加(“”);
});
$('#calc')。单击(函数(){
var总和=0;
var-cnt=0;
$('input[type=“text”]”)。每个(函数(){
sum+=parseInt($(this.val());
cnt++;
});
$('#totes').html(sum/cnt);
});
});代码>
0
创造
计算
以下是您的答案:
0
创造
算计
$(文档).ready(函数(){
$(“#新建”)。单击(函数(){
var inValue=$('#in').val();
$('#inp')。附加(“”);
});
$('#calc')。单击(函数(){
var合计=0;
var valid_标签=0;
var平均值;
$('input')。每个(函数(){
var val=parseInt($(this).val(),10);
如果(!isNaN(val)){
有效_标签+=1;
总+=val;
}
});
平均值=总标签/有效标签;
$(#totes')。文本(平均值);
});
});
函数isNumber(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(字符码>31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
}
你需要计算的平均值是多少?我想OP想要的是平均值,至少这是他标题中的状态,我想你也需要用相同的id添加多个元素
Here is your answer :
<h1 id='totes'> 0 </h1>
<div id='inp'>
<input type='text' value='' id='in' onkeypress="return isNumber(event)" >
</div>
<button id='new'>
Create
</button>
<button id='calc'>
Calculate
</button>
<script type="text/javascript">
$(document).ready(function(){
$('#new').click(function(){
var inValue = $('#in').val();
$('#inp').append("<input type='text' class='newin' value='"+ inValue +"'>");
});
$('#calc').click(function(){
var total = 0;
var valid_labels = 0;
var average;
$('input').each(function () {
var val = parseInt($(this).val(), 10);
if (!isNaN(val)) {
valid_labels += 1;
total += val;
}
});
average = total / valid_labels;
$('#totes').text(average);
});
});
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
</script>