我试图在复选框的每个循环中获取输入值,我无法弄清楚如何使其工作,值保持输出作为第一个复选框值。
$('.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
的输出是每个循环的第一个复选框,而不是循环的当前复选框,我需要当前值。
有什么想法吗?
答案 0 :(得分:36)
您可以使用this
访问循环中的当前元素:
valu = $(this).val();
当前元素也作为参数发送给回调函数,因此你可以把它拿起来:
.each(function(index, elem) {
然后使用参数:
valu = $(elem).val();
答案 1 :(得分:3)
$('.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;
});
});
答案 2 :(得分:2)
使用this
查找已点击的控件
$('input[class=multadd]:checked').each(function(index) {
val = index + 2;
valu = $(this).val();
multiz = multiz + '&aid' + val + '=' + valu;
});
答案 3 :(得分:1)
var texts= $(".class_name").map(function() {
return $(this).val();
}).get();