-1

在这个小提琴

我有一个添加按钮,单击该按钮时会将输入数据添加到屏幕截图中给出的新行。组按钮用于创建一组用户号码。假设我想创建一个包含第一行手机号码的组朋友,第二行和最后一行。所以为此我只选择第一行,第二行和最后一行的复选框。然后按下组按钮后,它将创建一个组。组名和组成员(手机号码)应该存储在数据库中。所以我我正在使用 ajax。请告诉我如何传递选定行的手机号码。 在此处输入图像描述 以下是jquery

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);
            
                 
              }
    });
          

}); 

什么是组,我为什么想要它? 假设如果我有大约 100 条记录,其中有些是java员工,有些是.net员工,有些是大型机 假设如果我只想向 java 员工发送短信,如果我没有组,那么我有 100 条记录手动检查谁是java员工。所以为了避免我想为java创建组1,为.net创建组1,为大型机创建另一个组。所以为了只向java人员发送短信,我可以选择java组并发送短信

4

2 回答 2

0

尝试这个,

var obj={};// add this
$('#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 + '" checked ></td>');
        $(".span4").each(function () {
            $tr.append("<td >" + $(this).val() + "</td>");
        });
        // add below code
        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;
        // add upto above line
        val++;
    } else {
        alert("please fill the form completely");
    }
});

还更新并添加以下代码

$(document).on('click', '#btn2',function () {
    var creat_group = confirm("Do you want to creat a group??");
    if (creat_group) {
        console.log(obj);
    }        
});

// to get the checked data only
$(document).on('change','#mytable input:checkbox',function () {
    if(!this.checked)
    {
        key=$(this).attr('name').replace('mytr','');
        obj[key]=null;
    }
});

演示

于 2013-10-28T11:45:33.720 回答
0

正如我在评论中所说,这是我的答案,您需要将其添加到您的$('#btn2').click()

工作小提琴

$(document).ready(function () {
    $('#btn2').click(function () {
        var checkedRows = $('#mytable').find("input:checked").parent().parent();
        var total = checkedRows.length;
        var info = [];
        for(i = 0; i < total; i++){
            var row = $(checkedRows[i]).children();
            var tmpInfo = [];
                tmpInfo["name"]= row[1].innerHTML;
                tmpInfo["email"]= row[2].innerHTML;
                tmpInfo["phone"]= row[3].innerHTML;
            info.push(tmpInfo);
        }

        console.log(info);

        $.post('yourpage', info, function(){
            //on success code, can be an alert or anything you want.
        });
    });
});

解释:基本上我们首先找到所有选中的复选框父行并创建一个数组(checkedRows);

然后我们循环遍历这个数组(它比使用 快得多$.each)并将表格单元格 1 2 和 3 的内部 HTML 添加到info数组中。(td 0 是复选框的单元格,所以我们不需要它);

将信息发送到您的服务器,它应该是一个包含 n 个子数组的数组(取决于检查了多少行),子数组将包含姓名、电子邮件和电话。

于 2013-10-28T12:24:34.363 回答