我在页面上有很多文本框输入,我试图检查每个输入是否都设置在一个循环中,当每个输入都设置为我试图运行一个函数时。
我有以下代码:
$( document ).ready(function() {
var count_input = 0;
var count_valid_input = 0;
$("#weekly-suppliers").change(function(){
call_calculation(); //
});
function call_calculation(){
$('input[class=enquiry]').each(function(){
count_input ++;
var text_value = $(this).val();
if(text_value != '') //remember, data has already been sanitized!
{
count_valid_input ++;
console.log('input: ' + count_input);
console.log('valid: ' + count_valid_input);
}
})
if(count_input == count_valid_input){
console.log('do calc');
do_calculation();
}
else {
count_input = 0;
count_valid_input = 0;
}
}
});
这会通过类查询循环每个文本输入。对于每个元素递增计数器,为每个设置的元素启动另一个计数器。如果这两个计数器匹配,则运行一个函数。我能够达到这一点,有人可以提出为什么这样做吗?
在每个文本输入更改事件中调用函数call_calculation。我在脚本中有很多这些函数,用于每个文本输入:
$("#weekly-suppliers").change(function(){
call_calculation(); //
});
因此,当有效输入的数量与类enquiry
的文本输入数匹配时,应该调用函数do_calculation();
,但是它永远不会被满足。谁有人建议为什么?