Javascript 如何计算我所有的输入
你好,我有两种类型的输入动态和静态。我想计算它们,并在其他输入中显示总数 这是我的静态输入Javascript 如何计算我所有的输入,javascript,html,dynamic,input,static,Javascript,Html,Dynamic,Input,Static,你好,我有两种类型的输入动态和静态。我想计算它们,并在其他输入中显示总数 这是我的静态输入 <input step="any" type="number" readOnly id="totallundi" class="totallundi" name="totallundi" size="10" min="0" max="24" value="0" onblur="autre();" onfocus="enter();"/> 我认为您可以使用并显示输
<input step="any" type="number" readOnly id="totallundi" class="totallundi"
name="totallundi" size="10" min="0" max="24" value="0" onblur="autre();"
onfocus="enter();"/>
我认为您可以使用并显示输入的值 您可以在添加新的动态输入后将其添加到函数中 编辑: 您正在附加一个id等于temps+increment的新输入,并且它有一个名为dynamic的类。如果您想知道动态输入的数量,那么只需要调用一个计数的函数即可。您可以创建一个新函数
countdynamicnputs()
,并在结束新输入后在单击函数上调用它
function countDynamicInput() {
$(".dynamic").length;
}
看到您的代码,我没有看到任何其他方法可以像静态输入那样计算动态输入,因为您只设置了一个temps+increment的id和一个动态的类。如果您想像对静态输入那样对输入进行计数,那么应该寻找一种在动态输入中设置天数的方法
编辑2:
你说“我想计算它们,并在其他输入中显示总数。”我理解为你想知道动态输入的数量。如果你想得到这个值,那么你需要在你的动态输入上使用,得到它的值并求和
您可以将each应用到动态类中,以获取所有输入,并为每次迭代获取值。现在我有一个函数,它只计算静态输入,而不计算动态输入,当它更改时,我将编辑我的问题,您可以看到我需要计算输入中的数字,而不计算我有多少输入。如果在输入1(动态)中,我有数字10 in+input2动态数字示例5 in)将显示在总数15中试图帮助-但很难想象你正在尝试做什么。最好在jsbin或JSFIDLE中查看它。这是我的原创作品。这是我回答你问题的原著。在你的输入文本字段中创建了一个加减功能。在这里举例说明我想要什么,如果它不清楚的话,我会解释:所以在灰色输入中输入一天的总数。完成最后一次输入中所有灰色输入的合计(本周合计)。
var counter = 0;
var $newRow;
$(function(){
$('#add_field').click(function(){
counter += 1;
$('#calculTempsdiv').append(
$('<input id="temps' + counter + '" name="temps[]" type="number" size="10" min="0" max="24" value="0" step="any" onchange="checkField();" class="dynamic" onblur="autre();" onfocus="enter();"/>')
)
});
});
<input step="any" type="number" id="totaldimanche" class="totaldimanche"
readOnly name="totaldimanche" size="10" min="0" max="24" value="0"
onblur="autre();" onfocus="enter();"/>
$('document').ready(function() {
$(
'#totaldimanche,#totallundi, #totalmardi, #totalmercredi , #totaljeudi, #totalvendredi ,#totalsamedi, #input1,#input2,#temps3,#input4,#input5,#input6,#tempsam '
).each(function() {$(this).on('change',recalculate);}
);
});
function recalculate()
{
if(isNaN(this.value))
alert("Please enter a number");
else
{
var b = 0;
if (
( $('#totaldimanche').val() !== b)
&& ( $('#totallundi').val() !== b )
&& ($('#totalmardi').val() !== b )
&& ($('#totalmercredi').val() !== b )
&& ($('#totaljeudi').val() !== b )
&& ( $('#totalvendredi').val() !== b )
&& ( $('#totalsamedi').val() !== b ))
{
var a = 40;
var value1 = $('#totaldimanche').val() == "" ? 0 : parseFloat($('#totaldimanche').val());
var value2 = $('#totallundi').val() == "" ? 0 : parseFloat($('#totallundi').val());
var value3 = $('#totalmardi').val() == "" ? 0 : parseFloat($('#totalmardi').val());
var value4 = $('#totalmercredi').val() == "" ? 0 : parseFloat($('#totalmercredi').val());
var value5 = $('#totaljeudi').val() == "" ? 0 : parseFloat($('#totaljeudi').val());
var value6 = $('#totalvendredi').val() == "" ? 0 : parseFloat($('#totalvendredi').val());
var value7 = $('#totalsamedi').val() == "" ? 0 : parseFloat($('#totalsamedi').val());
var total = value1 + value2 + value3 + value4 + value5 + value6 + value7 ;
$('#result').val(total);
function countDynamicInput() {
$(".dynamic").length;
}