您好我有两种输入动态和静态。我想计算它们并在其他输入中显示总数。
这是我的静态输入
<input step="any" type="number" readOnly id="totallundi" class="totallundi"
name="totallundi" size="10" min="0" max="24" value="0" onblur="autre();"
onfocus="enter();"/>
这里是我添加动态输入的按钮
<p id="add_lundi" class="plus">
<a href="#"><span> + </span></a>
</p>
<p id="remove_lundi" class="minus">
<a href="#"><span> - </span></a>
</p>
这是我在javascript中创建新行动态的函数
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();"/>
修改
这里我是如何计算我的静态的,它的doest采取我的静态(我没有显示我的所有输入,所以totaldimanche存在totallundi存在但我没有告诉你我的输入在代码中导致它都一样。
$('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);
答案 0 :(得分:0)
我认为您可以使用length property并在输入中显示值。
添加新的动态输入后,您可以在函数中添加它。
编辑:
您正在追加一个id等于temps + increment的新输入,并且它有一个名称为动态的类。如果您想知道动态输入的数量,那么您只需要调用一个重要的函数。您可以创建一个新函数countDynamicInputs()
,并在添加新输入后在单击函数上调用它。
function countDynamicInput() {
$(".dynamic").length;
}
看到你的代码我没有看到任何其他方法来计算动态输入,就像你对静态输入一样,因为你只设置了一个id为temps + increment和一个动态的类。如果您想像对静态输入一样计算输入数,那么您应该在动态输入中设置天数。
EDIT2:
你说“我想计算它们并在其他输入中显示总数。”我理解它,因为你想知道动态输入的数量。如果您想获得该值,则需要在动态输入上使用each iterator并获取其值并求它们。
您可以将每个应用到动态类中以获取所有输入,并为每次迭代获取值。