如何选中每个循环中的复选框
How to check checkbox in each loop
考虑一个简单的每个循环来检查选中的复选框:
$(':checkbox').filter(':checked').each(function(){
var name = $(this).val();
});
此代码适用于在原始 HTML 代码中选中的复选框,如下所示
<input type="checkbox" name="test" value="test" checked="checked" />
如何使此jQuery代码实时工作,以便在每次选中或删除选中的新框时执行filter
过程。我想在复选框(选中或未选中(发生任何更改时运行 each 循环,以返回当前选中的更新值。
注意:这是表达问题的简化代码。目的不是记录name
,而是在each
循环中处理检查值。
使用 click
:
$(':checkbox').click(function() {
$(':checkbox').filter(':checked').each(function() {
var name = this.value;
});
});
笔记:
- 您可以避免多次查询 DOM。
-
:checkbox
是一个非常慢的选择器,因为它不是css选择器,而是jQuery扩展。 - 不要使用 jQuery 来获取
this
值。
您可以像这样改进代码:
var $checkboxes = $('input[type="checkbox"]');
$checkboxes.filter(':checked').each(function() {
var name = this.value;
});
阅读资源:
$(this)
的成本- 为什么我们在 jQuery 中用 $ 作为变量的前缀
您需要
将循环绑定到复选框的change
事件。
$(':checkbox').change(function() {
$(':checkbox').filter(':checked').each(function() {
var name = $(this).val();
});
});
由于您正在执行循环,因此我假设可以有很多复选框。我有点困惑为什么您每次都会覆盖name
变量,最后只留下最后一个复选框的值。相反,我提供了一个数组,我们将所有检查值推送到:
// Declare a names variable for storing values
var names;
// Any time a checkbox changes on our form
$("form").on("change", ":checkbox", function(e){
// Empty the names array
names = [];
// Get all checked checkboxes from our form and add their value to our array
$(":checkbox:checked", e.delegateTarget).each(function(){
names.push( $(this).val() );
});
}).find("input:checkbox").trigger("change");
// Method of revealing what we currently have checked
$("#reveal").on("click", function(){
alert( names.join(", ") );
});
演示:http://jsbin.com/uyecux/2/edit
您需要创建一个事件处理程序。 在jQuery中,这可能看起来像这样:
$(':checkbox').on('change', function() {
// Execute your code here.
});
请参阅此处的 jQuery 文档:http://api.jquery.com/on/有关 jQuery 中事件处理的更多详细信息。
var $checkboxes = $('input[type=checkbox]')
$checkboxes.click(function (){
$(':checkbox').filter(':checked').each(function(){
var name = $(this).val();
});
});
尝试使用上述功能。
相关文章:
- ng-重复循环复选框
- 我的复选框没有't使用的循环来显示数据
- 如何循环访问页面上的所有复选框
- 循环浏览页面上所有选中的复选框并将id拉入数组不起作用
- JsViews复选框从内部循环绑定
- 循环通过选中的复选框并创建多维数组
- 循环的javascript checkall/uncheckall复选框
- 如何在javascript循环中选中复选框
- LiveCycle:在动态复选框中循环
- 将关联的 ID 添加到 for 循环中的复选框
- 循环遍历数组以选中复选框
- Javascript:创建循环以连接选中复选框的结果
- 循环检查选中的复选框,然后显示结果
- 如何选中每个循环中的复选框
- 循环访问表格以检查已单击的复选框
- 我想使用 for 循环来获取 jquery 中复选框和文本框的 id
- JavaScript 中的循环 html 复选框
- 从复选框循环循环遍历 json 对象
- 循环浏览表格,找到选中的span class+复选框以弹出确认框
- 在复选框循环组中至少选择一个复选框