0

我正在尝试将生成的输入字段的值连接在一起,以便可以通过电子邮件发送出去。

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>

非常感谢任何帮助...

4

1 回答 1

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);
    };
});​

它有效(打开控制台查看所有字段的总和)

主要变化:

  • 使用on,我可以使 calc 函数在您单击按钮时仅调用一次
  • 我解析字段的值,如果是,我不会添加该值NaN
于 2012-12-10T14:48:57.780 回答