Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery统计动态创建的html元素_Javascript_Jquery_Onclick_Dynamically Generated - Fatal编程技术网

Javascript 使用jquery统计动态创建的html元素

Javascript 使用jquery统计动态创建的html元素,javascript,jquery,onclick,dynamically-generated,Javascript,Jquery,Onclick,Dynamically Generated,我正在计算当前文档中有价值的输入数。它工作得很好,除非我动态添加了更多输入。我到不了那里 例如,我可能有 <input id="participant-1"/> <input id="participant-2"/> ... ... 单击按钮后动态创建 <input id="participant-15" /> 我将在for循环中得到每一个的值,如 for(var i =1 ; i <25; i++) { ...$('input#part

我正在计算当前文档中有价值的输入数。它工作得很好,除非我动态添加了更多输入。我到不了那里

例如,我可能有

<input id="participant-1"/>
<input id="participant-2"/>
...

...
单击按钮后动态创建

<input id="participant-15" />

我将在for循环中得到每一个的值,如

for(var i =1 ; i <25; i++)
{
  ...$('input#participant-' + i).val();
}

for(var i=1;i给它一个公共类:

<input class="textbox" id="participant-1"/>
<input class="textbox" id="participant-2"/>
并回答编辑问题:

语法应该是:$(容器选择器)。on(事件类型、目标选择器、回调)

$('.name').on('blur', 'input', calculate_total);

也可以考虑使用CSS属性选择器。


在这里使用类选择器可以节省时间

<input id="participant-1" class="participant"/>
<input id="participant-2" class="participant"/>

如果您有元素id,则不需要在之前添加html标记,希望您会发现这很有用
更好。您拥有的示例和代码应该可以很好地工作。请添加更多代码。当您请求值等时,如何创建副本。JSFIDLE会很好。您的事件绑定代码在哪里?您能显示您的
for
放置的代码吗?如何获得25?按$(“输入”)更改它[id^='participant-']')。纵向搜索比在dom中搜索$('#participant-'+i).val()更好许多timesOP提到了计算动态创建的元素,但他从来没有显示他绑定事件的部分。因此在这一部分上帮不上忙。接受是因为教了我一些关于效率的知识并使其更具可读性。请参阅更新的问题我添加了JSFIDLE和后续问题谢谢!现在效果很好!请参阅更新的问题我添加了JSFIDLE和后续问题
    $("input[id|=participant]").each(function(){
            // something
    });
<input id="participant-1" class="participant"/>
<input id="participant-2" class="participant"/>
var count = $('.participant').length
alert ('You have ' + count + ' Counted Inputs');
//result is 2