我正在计算当前文档中有价值的输入数量。它工作正常,除了我动态添加更多输入。我无法达到价值观。
例如我可能有
<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循环来检查每个输入的值时,它只获取未动态创建的输入值。我已经在这里查看了其他问题,但我仍然无法看到如何将.on()
这样的内容应用到我想要实现的目标上。
新的问题 好的,现在我认为这是我需要更多关于如何使用.on。
的说明我在这里有一个jsfiddle:JsFiddle example
我创建新元素和所有文本框的模糊,我想计算有多少元素有价值并记录它。现在,它将使用静态元素对blur事件做出响应。它不适用于动态创建的元素
答案 0 :(得分:8)
给它一个共同的课程:
<input class="textbox" id="participant-1"/>
<input class="textbox" id="participant-2"/>
并得到它:
var values = [];
$('.textbox').each(function(){
values.push($(this).val());
});
console.log(values)
回答编辑:
语法应为: $(container_selector).on(event_type,target_selector,callback)
<强> JSFiddle Demo 强>
$('.name').on('blur', 'input', calculate_total);
答案 1 :(得分:2)
还可以考虑使用CSS属性选择器。
http://www.w3.org/TR/CSS2/selector.html#attribute-selectors
$("input[id|=participant]").each(function(){
// something
});
答案 2 :(得分:-2)
使用类选择器可以节省时间。
<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
希望你找到这个有用的