Jquery计算和动态输入字段之和
jquery calculation and sum of dynamic input fields
我制作了一个带有动态输入字段的表单,用于插入数字,其中第一个输入是静态的,其他5个是用脚本动态制作的。现在,我想把所有插入的数字求和到第7个输入id-ed #income_sum。在静态输入字段下一切都很好,我检查了两个字段,它也能工作,在我的例子中它也能工作。但是我的问题是,当我在一个动态字段中输入一个数字时,它不会在#income_sum中求和,并且它们被赋予类.income_count,就像在一个静态字段中一样。
这是我的html:
<form class="form-horizontal" id="whereEntry" method='post' action=''>
<fieldset>
<div class="control-group">
<div class="controls controls-row">
<input type="text" class="span3 register_input" id="main_activity" name="main_activity" placeholder="Company's main activity">
<input type="text" class="span1 register_input income_count" id="income" name="income" placeholder="% of income">
</div>
</div>
<div class="control-group">
<div class="controls controls-row">
<div id="InputsIncomeWrapper">
</div>
</div>
<div class="row">
<input type="text" class="span1 register_input pull-right" id="income_sum" name="income_sum">
</div>
<div class="row">
<a href="#" id="AddMoreIncomeBox" class="btn btn-info pull-right"><i class="icon-plus"></i>Add More</a>
</div>
</div>
</fieldset>
</form>
计算脚本://calculation script
var $form = $('#whereEntry'),
$summands = $form.find('.income_count'),
$sumDisplay = $('#income_sum');
$form.delegate('.income_count', 'change', function ()
{
var sum = 0;
$summands.each(function ()
{
var value = Number($(this).val());
if (!isNaN(value)) sum += value;
});
$sumDisplay.val(sum);
});
动态字段脚本:
//add dynamic field script
$(document).ready(function() {
var MaxInputs = 5; //maximum input boxes allowed
var InputsWrapper = $("#InputsIncomeWrapper"); //Input boxes wrapper ID
var AddButton = $("#AddMoreIncomeBox"); //Add button ID
var x = InputsWrapper.length; //initlal text box count
var FieldCount=1; //to keep track of text box added
$(AddButton).click(function (e) //on add input button click
{
if(x <= MaxInputs) //max input box allowed
{
FieldCount++; //text box added increment
//add input box
$(InputsWrapper).append(''
<div>'
<input type="text" class="register_input span3"'
name="main_activity_'+ FieldCount +'" id="main_activity_'+ FieldCount +'"'
placeholder="Company´s other activity" style="margin:0px 15px 20px 0px"/>'
<input type="text" class="span1 register_input income_count" id="income_'+ FieldCount +'"'
name="income_'+ FieldCount +'" placeholder="% of income"' style="margin:0px 15px 20px 15px"/>'
<a href="#" class="removeclass pull-left"><i class="icon-remove icon-remove-addincome"></i></a></div>');
x++; //text box increment
}
return false;
});
$("body").on("click",".removeclass", function(e){ //user click on remove text
if( x > 1 ) {
$(this).parent('div').remove(); //remove text box
x--; //decrement textbox
}
return false;
})
});
这里是当前情况的概要:http://jsfiddle.net/Uwbe6/
有人帮助吗?我知道这个问题存在于那些动态领域,但不知道如何解决它。在我的jsfiddle更新可能的解决方案?
谢谢
您正在缓存.income_count
选择器,因此新添加的元素不包含在其中。
将以下内容添加到.delegate()
函数的第一行:
var $summands = $form.find('.income_count');
Here's fiddle
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 使用 Javascript 将字段输入除以 12
- 合并来自多个字段输入的搜索结果
- 使用 Javascript 实时打印字段输入数据
- 防止AngularJS中跨路由的字段输入重复
- 引用Iframe中的字段输入
- 禁用html5”;“必需”;不显示窗体部分时的字段输入属性
- JavaScriptFormValidation-需要特定的字段输入,但使用大写/小写
- 验证VF页面上所需字段输入的Javascript不起作用
- 在没有
- 使用Jquery将字段输入值作为查询字符串附加到url
- HTML5 jQuery选择所有日期字段'输入:date'
- 将字段输入复制到另一个字段输入
- 向图像添加字段(输入)
- 动态添加字段输入不会存储值并传递给控制器
- 向输入字段输入键击
- 我如何通过javascript验证datetime字段输入
- HTML如何将用户字段输入作为json对象发送
- 如何根据'select' onchange事件将值填充到第二个输入字段?输入