2011-11-25 148 views
1

我有相同名称的复选框,我需要获取数组中的复选框的选定值(它应该排除非选定的值)。我有以下代码。Jquery复选框选择

$(document).ready(function() { 
    $(".t").change(function() { 
     var allVals = []; 
     $("input[name='checkbox1']:checked").each(function() { 
      // alert($(this).val()); 
      allVals.push($(this).val()); 
     }); 
     $('#click').click(function() { 
      $.each(allVals, function() { 
       alert(this); // It alerts old past value also 
      }); 
     }); 
    }); 
}); 


<input name="checkbox1" class="t" type="checkbox" value="1"/>a <br/> 
<input name="checkbox1" class="t" type="checkbox" value="2"/>b <br/> 
<input name="checkbox1" class="t" type="checkbox" value="3"/>c <br/> 
<input name="checkbox1" class="t" type="checkbox" value="4"/>d <br/> 
<input id="click" id="button" type="button" value="click" /> 

这里是我的代码的jsfiddle - >http://jsfiddle.net/manseuk/VHSrZ/

任何人都可以建议如何解决呢?

+1

**什么错误值?**即使可以,我们也不能全部阅读头脑。 – Bojangles

+0

你得到的错误是什么? –

+0

我应该得到复选框当前选择的值。在我的情况下,它也打印所有以前的非选择 – venkat

回答

2

你可以这样做:

$(document).ready(function() { 
    var allVals; 
    $(".t").change(function() { 
     allVals = []; 
     $("input[name='checkbox1']:checked").each(
     function() { 
      allVals.push($(this).val()); 
     }); 

    }); 
}); 

这样allVals是只包含选定值

数组

小提琴这里http://jsfiddle.net/K6dTF/(使用Firebug检查结果)

1

你绑定每次点击一个复选框时新的点击功能。你需要把它放在这个范围之外,或者解除绑定功能并重新绑定。

喜欢的东西:

$(document).ready(function() { 
    var allVals = []; 
    $(".t").change(function() { 
     allVals = []; 
     $("input[name='checkbox1']:checked").each(function() { 
      // alert($(this).val()); 
      allVals.push($(this).val()); 
     }); 
    }); 
    $('#click').click(function() { 
     $.each(allVals, function() { 
      alert(this); // It alerts old past value also 
     }); 
    }); 
}); 

见琴:http://jsfiddle.net/VHSrZ/3/

1

更改您的JS以下几点:

它会提醒选择的值

$('#click').click(function() { 
    var allVals = []; 
    $("input[name='checkbox1']:checked").each(function() { 
     // alert($(this).val()); 
     allVals.push($(this).val()); 
    }); 
    alert(allVals); 
}); 

工作实例的数组:http://jsfiddle.net/manseuk/VHSrZ/2/