简体   繁体   English

如何选择按钮单击上的复选框

[英]How to select the check box on button click

In the users tab there are some rows having check boxes. 在“用户”选项卡中,有些行具有复选框。 So if more than 2 check boxes are selected then a button named group appears. 因此,如果选中了两个以上的复选框,则会出现一个名为group的按钮。

Now when group button is clicked then then it will ask for a name and after pressing the ok button on the right side in the group table a group is created. 现在,当单击组按钮时,它将要求输入名称,并在组表的右侧按下确定按钮后,将创建一个组。 For example select 1st and last row and click the group button. 例如,选择第一行和最后一行,然后单击组按钮。 A dialog box appears asking to enter name. 出现一个对话框,要求输入名称。 Enter test in the input field, after that in the right side group table test appears(please see the screenshot). 在输入字段中输入测试,然后在右侧组表中显示测试(请参见屏幕截图)。

Now my question: is if I click the test(group name) now then on the left side the checkboxes will be selected. 现在我的问题是:如果我现在单击测试(组名),则在左侧的复选框将被选中。 So in my case 1st check box and last check box will be selected. 因此,在我的情况下,第一个复选框和最后一个复选框将被选中。 Please tell me how to do this. 请告诉我该怎么做。 This is the fiddle 这是小提琴

The js codes are as follows js代码如下

$(function() { 
    $("#datetimepicker").datetimepicker({ 
        format: "'dd/MM/yyyy hh:mm:ss'", 
        linkField: "#txt", 
        linkFormat: "yyyy-mm-dd hh:ii", 
        autoclose: true, 
    }); 

    jQuery('#datetimepicker').datetimepicker().on('changeDate', function(ev){ 
        $(".darea1").val($( ".darea1" ).val()+$( "#txt" ).val()); 
    }); 

}); 
$('#tabAll').click(function(){ 
    $('#tabAll').addClass('active'); 
    $('.tab-pane').each(function(i,t){ 
        $('#myTabs li').removeClass('active'); 
        $(this).addClass('active'); 
    }); 
}); 
$('body').on('click', '.btn', function(){ 
    if(this.id=='openAlert') {
        $('#number').val('');}else{$('#number').val(this.id);
    }
});
$(document).ready(function(){
    $("#signout").click(function() { 
        window.location.replace("logout.jsp"); 
    });
    //next line
/*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\" name="mytr'+val+'" checked ></td>');

             $(".span4").each(function () {

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

              });
              val++;
      }
      else
      {
          alert("please fill the form completely");
      }
              });
    $('#btn2').click(function(){
        var creat_group=confirm("Do you want to creat a group??");
        if(val>1){
           alert(creat_group);


              }
    });




});*/
var val = 0;
var groupTrCount = 0;
$(document).ready(function () {    
    var obj={};
    $('#btn1').click(function () {
        if ($(".span4").val() != "") {
            $("#mytable").append('<tr id="mytr' + val + '"></tr>');
            $tr=$("#mytr" + val);
            $tr.append('<td class=\"cb\"><input type=\"checkbox\" value=\"yes\" name="mytr' + val + '" unchecked ></td>');
            $(".span4").each(function () {
                $tr.append("<td >" + $(this).val() + "</td>");
            });
            var arr={};
            name=($tr.find('td:eq(1)').text());
            email=($tr.find('td:eq(2)').text());
            mobile=($tr.find('td:eq(3)').text());
            arr['name']=name;arr['email']=email;arr['mobile']=mobile;
            obj[val]=arr;
            val++;
        } else {
            alert("please fill the form completely");
        }
    });
    $(document).on('click', '#btn2',function () {
        var email=new Array();
        var username=new Array();
        var mobno=new Array();
        var grpname;
        var creat_group = prompt("Name your group??");
        grpname=creat_group;

        if (creat_group) {
            console.log(obj);
            $("#groupTable").append('<tr id="groupTr' + groupTrCount + '"></tr>');
            $tr=$("#groupTr" + groupTrCount);
            $tr.append("<td >" + creat_group + "</td>");
            $('#mytable tr').filter(':has(:checkbox:checked)').each(function() {
                var count=0;
                var arrid=0;
                $(this).find('td').each(function() {

                    //your ajax call goes here
                    if(count == 1){
                        username[arrid]=$(this).html();        
                    }
                  if(count==2)
                    {
                        email[arrid]=$(this).html();
                    }
                    if(count==3)
                    {
                        mobno[arrid]=$(this).html();
                    }
                    count++;
                    });
                arrid++;
            });
            $.ajax(
               {
                   type: "POST",
                   url: "messageSending.jsp", //Your full URL goes here
                   data: { username: username, email: email,mobno:mobno,grpname:grpname},
                   success: function(data, textStatus, jqXHR){
                       alert(data);                  
                   },
                   error: function(jqXHR){
                       alert(jqXHR.responseStatus);
                   }
               });
        groupTrCount++;
        }        
    });
    $(document).on('change','#mytable input:checkbox',function () {
        if(!this.checked)
        {
            key=$(this).attr('name').replace('mytr','');
            alert(key);
            obj[key]=null;
        }
//show group
if($('#mytable input:checkbox:checked').length > 1) {
        $('#btn2').removeClass('hide')
    }
    else {
        $('#btn2').addClass('hide')
    }
//
    });
});


//
        $('#openAlert').click(function(){

            var number = $('#number').val(); // If its a text input could use .text()
            var msg = $('#darea').val(); //If its a text input could use .text()
alert(msg);
            $.ajax(
                {
                    type: "POST",
                    url: "messageSending.jsp", //Your full URL goes here
                    data: { toNumber: number, body: msg},
                    success: function(data, textStatus, jqXHR){
                        alert(data);                  
                    },
                    error: function(jqXHR){
                        alert(jqXHR.responseStatus);
                    }
                });
        });
    });
$(function ()  
{ $("#number").popover({title: 'Enter Mobile Number',content: "Please enter 10 digit mobile number prefixed by country code eg +911234567890"});  
});  
$(function ()  
{ $("#body").popover({title: 'Message Body',content: "Maximum 160 characters allowed"});  
});

在此处输入图片说明

Try this solution 试试这个解决方案

add data-id for checkbox...set the value same as tr id or any 为复选框添加data-id ...设置与tr id或任何其他值相同的值

<tr id="46">
       <td>
          <input data-id="46" type="checkbox"></td>
       <td>aaa</td>

jQuery jQuery的

Add this lines in your code 在代码中添加此行

var sCheckbox = new Array();
$('#mytable tr').find('input[type="checkbox"]:checked').each(function(i) {               
     sCheckbox.push($(this).attr("data-id"));
});
var ds = (sCheckbox.length > 0) ? sCheckbox.join(",") : "";

Modify this line 修改这行

$tr.append("<td data-selected='"+ds+"'>" + creat_group + "</td>");  

Add this event 添加此活动

$(document).on('click','#groupTable tr td',function () {
        var dataids = $(this).attr("data-selected").split(",");
        $('#mytable tr').find('input[type="checkbox"]').attr("checked",false);
        $(dataids).each(function(key,dataid) {
               $('#mytable tr').find('input[data-id="'+dataid+'"]').attr("checked",true);
        })
    });

Live Demo 现场演示

Edit 编辑

Updated Demo 更新的演示

Add this data-id="mytr' + val + '" in checkbox element checkbox元素中添加此data-id="mytr' + val + '"

$tr.append('<td class=\"cb\"><input data-id="mytr' + val + '" type=\"checkbox\" value=\"yes\" name="mytr' + val + '" unchecked ></td>');

note:check my inline comments in fiddle 注意:在小提琴中检查我的内联评论

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何选择和取消选择多个复选框,并在javascript中单击按钮 - How to select and deselect multiple check box with a button click in javascript 当我使用jQuery单击选择按钮时,如何选择所有复选框 - How do I select all check box when I click on Select button using jQuery 如何在单击按钮时显示选择框选项? - How to show Select box Options on Button Click? 如何使用PHP中的复选框选择多个数组? 还有如何单击并选择PHP中的单个复选框 - How to select multiple arrays using check box in PHP? Also how to click and select single check box in PHP 单击“提交”按钮时如何在JavaScript警报中回显复选框 - How to echo Check Box in JavaScript Alert When Click on Submit Button 如果用户未选中复选框或单选按钮,如何为复选框或单选按钮设置一些默认值 - how do I set some default value for a check box or a radio button if user do not check the check box or select a button 选中复选框,然后单击下载按钮以选择图像下载,并同时下载所有图像 - Select check box and click on download button selected image download and also download all images 选择框出现/消失按钮单击 - Select Box Appears/Disappears on Button Click 确认框单击否按钮,取消选中网格复选框单元格ExtJs - Confirmation box click No button, uncheck the Grid check box cell ExtJs 选中/取消选中所有复选框,单击一个复选框javascript - select/deselect all check boxes on click a single check box by javascript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM