我正在尝试将生成的输入字段的值连接在一起,以便可以通过电子邮件发送。
jsfiddle:http://jsfiddle.net/dawidvdh/NZy53/
代码在这里:
JavaScript的:
$(document).ready(function() {
var pass = 1;
val = 0;
jQuery('div.passport').each(function() {
var index = "pass"+pass++;
var passer = "<input class='pass' id="+'"'+index+'"'+" "+"/>";
var passvalue = $(this).attr('value');
jQuery(passer).appendTo('#pass');
jQuery('#dup').click(function(){
calc(passvalue);
});
});
function calc(passvalue) {
console.log(passvalue);
};
});
然后HTML:
<div id="pass"></div>
<div class="passport"></div>
<div class="passport"></div>
<div class="passport"></div>
<div class="passport"></div>
<div class="passport"></div>
<div class="passport"></div>
<div class="passport"></div>
<button id="dup">duplicate</button>
任何帮助都非常赞赏......
答案 0 :(得分:0)
我将您的代码更改为
$(document).ready(function() {
var pass = 1;
val = 0;
jQuery('div.passport').each(function() {
var index = "pass"+pass++;
var passer = "<input class='pass' id="+'"'+index+'"'+" "+"/>";
var passvalue = $(this).attr('value');
jQuery(passer).appendTo('#pass');
});
$(document).on('click', '#dup', calc);
function calc() {
var passValue = 0;
$('.pass').each(function(){ var v=parseFloat($(this).val()); if(v) passValue+=v});
console.log(passValue);
};
});
It works (open the console to see the sum of all fields)
主要变化:
on
,我可以说当你点击按钮时只调用一次calc函数NaN