2012-12-10 22 views
0

我试图将生成的输入字段的值连接在一起,以便可以通过电子邮件将其关闭。将jQuery中的每个生成的输入值添加到一起

的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

我改变你的代码

$(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,我可以把它当您单击该按钮的计算函数被调用一次
  • 我解析字段的值,如果它的值不是NaN
+0

作品非常漂亮,但看到需要“将生成的输入字段的值连接在一起”,正如您可以在上面阅读...为其护照号码一样。非常感谢:) –

+1

如果你想将它们连接成字符串,请使用[this fork](http://jsfiddle.net/F8wuN/)。 –

+0

现在完美的作品:) –

相关问题