jQuery在.each循环中获取输入值

我试图在复选框的每个循环中获取输入值,我无法弄清楚如何使其工作,值保持输出作为第一个复选框值。

$('.custemb, input[name=cb], input[class=multadd]').live("click", function() { $('input[class=multadd]:checked').each(function(index) { val = index + 2; valu = $('input[class=multadd]:checked').val(); multiz = multiz + '&aid' + val + '=' + valu; }); }); 

问题是变量valu的输出是每个循环的第一个复选框,而不是循环的当前复选框,我需要当前值。

有任何想法吗?

您可以使用this来访问循环中的当前元素:

 valu = $(this).val(); 

当前元素也作为参数发送到回调函数,因此您可以将其拾取:

 .each(function(index, elem) { 

然后使用参数:

 valu = $(elem).val(); 
 $('.custemb, input[name=cb], input[class=multadd]').live("click", function() { $('input[class=multadd]:checked').each(function(index) { var $this = $(this); val = index + 2; valu = $this.val(); multiz = multiz + '&aid' + val + '=' + valu; }); }); 

使用this命令查找单击的控件

 $('input[class=multadd]:checked').each(function(index) { val = index + 2; valu = $(this).val(); multiz = multiz + '&aid' + val + '=' + valu; }); 
 var texts= $(".class_name").map(function() { return $(this).val(); }).get();