【问题标题】:How to create a group if more than 2 checkboxes are selected如果选择了 2 个以上的复选框,如何创建一个组
【发布时间】:2013-10-28 08:13:05
【问题描述】:

在我设计用于发送 SMS 的应用程序中,我有一个表格,可以接受用户名、电子邮件和手机号码。因此,当用户按下添加按钮输入所有字段后,所有信息都会显示在然后有一个检查 -盒子。

现在我想如果选中了多个复选框,那么它应该询问您是要创建群组还是发送短信。如果是,那么它将创建一个组。这是显示表单的fiddle

请告诉我如何检查是否选择了多个个复选框。

JavaScript

var val=0;
$(document).ready(function(){

   $('#btn1').click(function() {

   if( $(".span4").val() != "" ) {
       $("#mytable").append('<tr id="mytr'+val+'"></tr>');
       $("#mytr"+val).append("<td class=\"cb\">" +
                                  "<input type=\"checkbox\" value=\"yes\" ></td>");

       $(".span4").each(function() {
           $("#mytr"+val).append("<td >"+$(this).val()+"</tr>");
       });
       val++;

    } else {
         alert("please fill the form completely");
    }

  });
});

截图

【问题讨论】:

  • 请正确格式化您的代码。
  • $("#mytr"+val).append("&lt;td &gt;"+$(this).val()+"&lt;/tr&gt;");这是什么???
  • 如果您为复选框提供类:$('.checkboxClass:checked').length == 0,则不会检查任何复选框。
  • @MackieeE 我允许用户选择多个复选框
  • @ManjunathHegde 这将显示 newley 输入的记录,请运行 jsfiddle,输入所有输入并按添加按钮。您将知道为什么这些行用于

标签: javascript jquery checkbox


【解决方案1】:

$("#mytr"+val).append("&lt;td class=\"cb\"&gt;&lt;input type=\"checkbox\" value=\"yes\" checked &gt;&lt;/td&gt;");

试试这个

我已经更新了fiddle

【讨论】:

  • 它会在将行附加到表格时选中复选框
  • 感谢您的回答,但我不希望这样。当您按下复选框时,它将显示创建组的选项或不像确认警报。您的代码只是默认选中复选框
  • 看到您输入了所有输入字段名称,电子邮件和手机。然后按添加按钮。现在您将看到一条记录,同样添加 3 条记录。现在您将有 3 条记录。假设您要创建一组 2 个数字,以便您选择 2 个复选框。现在我想如何创建一个组
  • 你应该再放一个按钮吧?否则在每次检查时它都会要求您创建一个组,这不是很脏吗??
【解决方案2】:
var countChecked = function() {
  return $( "input:checked" ).length;
}

创建组:

$( "input:checked" ).each(function(i,v) {
 $(v).attr('name','chk_group[]');
}

编辑:.. .........

 $("#mytr"+val).append("<td >"+$(this).val()+"</tr>");

              });

             $("#mytr"+val).find('input').change(function() {
                if ($('input:checked').length > 1)
                {
                    $('input:checked').attr('name','group_name[]');
                } else
                {
                  $('input').attr('name','');
                }
            });
          val++;

............

【讨论】:

  • 但是如果选择了多个复选框,如何创建组
  • 你怎么能在fiddle中创建一个组?你fiddle和jsfiddle.net/4GP9c/93是一样的
  • @MackieeE 是的,我不明白。我给的小提琴和 baltow 小提琴具有相同的功能
  • @javaBeginner 在“组”下是什么意思?此代码从复选框创建组,您可以将其发送到服务器 link
  • @baltov 看看假设你有 10 条记录,你想创建一组第 1 行、第 5 行和第 9 行。我的应用程序是关于发送短信的。它就像电话簿联系人一样。假设在电话中您想向家人群组发送短信,然后只需键入消息并选择群组家庭。假设您想向朋友群组发送短信,然后键入消息并选择朋友群组
【解决方案3】:

给复选框一个类别 单击具有相同类的任何复选框时调用一个函数

例如:

$(".chekboxclass").on('blur',function(){
       var checkedCount = 0;       
       $(".chekboxclass").each(function(){
         if($(this).is(':checked')){

            checkedCount++;
         }

       })    
       if(checkedCount >1){
          alert('do u want to create a group');
       }
    })

这是一个示例代码。我还没有测试过。

希望这是你正在寻找的

【讨论】:

    猜你喜欢
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 2021-09-20
    • 2021-08-09
    • 2015-10-16
    • 1970-01-01
    相关资源
    最近更新 更多