Javascript 使用jquery从组中获取组成员

Javascript 使用jquery从组中获取组成员,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,在my中有两个表(在users选项卡中),一个用于显示组成员,另一个用于显示组名称。在fiddle中,一些已经创建的组是test3,spanwave和koio。spanwave的成员是namenayak和ajay。同样,koio的成员是steven和name。现在假设如果我单击spanwave,则会从左侧表格中选中namenayak和ajay的复选框。同样,如果我单击koio组,则会选择steven和name。这对新用户来说很好创建了组,但我不知道如何获得与现有组相同的工作 新创建的组单击两个以

在my中有两个表(在users选项卡中),一个用于显示组成员,另一个用于显示组名称。在fiddle中,一些已经创建的组是test3,spanwave和koio。spanwave的成员是namenayak和ajay。同样,koio的成员是steven和name。现在假设如果我单击spanwave,则会从左侧表格中选中namenayak和ajay的复选框。同样,如果我单击koio组,则会选择steven和name。这对新用户来说很好创建了组,但我不知道如何获得与现有组相同的工作

新创建的组单击两个以上复选框,然后会出现一个组按钮,现在单击“组”按钮,将出现一个提示弹出窗口,要求您输入组名。输入一些名称,然后单击“确定”。然后该名称将显示在右侧的组表上。现在单击组名,然后将选择这些成员。我还想从现有组中输入相同的名称。请告诉我如何操作

新创建的组的Javascript代码

$(document).on('click', '#btn2',function () {
        var groupmems="";
        var grpname;
    var email=new Array();
        var username=new Array();
        var mobno=new Array();
        var creat_group = prompt("Name your group??");
        grpname=creat_group;

        if (creat_group) {
            console.log(obj);

            $("#groupsTable").append('<tr id="groupTr' + groupTrCount + '"></tr>');
            $tr=$("#groupTr" + groupTrCount);
            var sCheckbox = new Array();
            $('#mytable tr').find('input[type="checkbox"]:checked').each(function(i) {               
                    sCheckbox.push($(this).attr("data-id"));
                    alert("hello " +sCheckbox);
            });
             var ds = (sCheckbox.length > 0) ? sCheckbox.join(",") : "";
            $tr.append("<td data-selected='"+ds+"'> <input type='button' id='btn5' class='btn btn-lg btn-primary' value='"+creat_group+"'/>  </td>");
            var userColumn = "<ul>";
            $('#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){

                        userColumn+= "<li>" + $(this).html() + "</li>" ;
                                                username[arrid]=$(this).html();

                        groupmems=groupmems+$(this).html()+":";


                    }
                  if(count==2)
                    {
                                                email[arrid]=$(this).html();

                        groupmems=groupmems+$(this).html()+":";


                    }
                    if(count==3)
                    {
                                                mobno[arrid]=$(this).html();

                        groupmems=groupmems+$(this).html()+";";


                    }
                    count++;
                    });
                arrid++;
            });
            $('input:checkbox').removeAttr('checked');
alert("group name "+grpname);
             alert(groupmems);
//ajax for group insert
            $.ajax(
               {
                   type: "POST",
                   url: "GroupInsert.jsp", //Your full URL goes here
                   data: { group: groupmems,groupname:grpname},
                   success: function(data, textStatus, jqXHR){
                       alert(data);                  
                   },
                   error: function(jqXHR){
                       alert(jqXHR.responseStatus);
                   }
               });
            userColumn+="<ul>";
            $tr.append("<td >" +userColumn+ "</td>");
        groupTrCount++;
        }        
    });
$(文档).on('click','btn2',函数(){
var=”;
var-grpname;
var email=新数组();
var username=新数组();
var mobno=新数组();
var creat_group=prompt(“命名您的组”);
grpname=创建组;
如果(创建组){
控制台日志(obj);
$(“#groupsTable”)。追加(“”);
$tr=$(“#groupTr”+groupTrCount);
var sCheckbox=新数组();
$('#mytable tr').find('input[type=“checkbox”]:checked')。每个(函数(i){
sCheckbox.push($(this.attr(“数据id”));
警报(“hello”+sCheckbox);
});
变量ds=(sCheckbox.length>0)?sCheckbox.join(“,”):;
$tr.append(“”);
var userColumn=“
    ”; $('#mytable tr')。筛选器(':has(:复选框:checked')。每个(函数(){ var计数=0; var-arrid=0; $(this).find('td').each(function(){ //你的ajax调用在这里 如果(计数=1){ userColumn+=“
  • ”+$(this.html()+”
  • ”; 用户名[arrid]=$(this.html(); groupmems=groupmems+$(this).html()+“:”; } 如果(计数=2) { 电子邮件[arrid]=$(this.html(); groupmems=groupmems+$(this).html()+“:”; } 如果(计数=3) { mobno[arrid]=$(this.html(); groupmems=groupmems+$(this.html()+“;”; } 计数++; }); arrid++; }); $('input:checkbox')。removeAttr('checked'); 警报(“组名”+grpname); 警报(组); //用于组插入的ajax $.ajax( { 类型:“POST”, url:“GroupInsert.jsp”//您的完整url位于此处 数据:{group:groupmems,groupname:grpname}, 成功:函数(数据、文本状态、jqXHR){ 警报(数据); }, 错误:函数(jqXHR){ 警报(jqXHR.responseStatus); } }); 用户列+=“
      ”; $tr.append(“+userColumn+”); groupTrCount++; } });
根据您当前的数据,您需要用户的
id

例如:

通过sql输出数据。。您的代码应该是

<tr>
   <td data-selected="{UIDS}">{GROUPNAME}</td>
</tr>

{GROUPNAME}
示例:

<tr>
   <td data-selected="40,46">koio</td>
</tr>
<tr>
   <td data-selected="48,50">spanwave</td>
</tr>

科奥
横波

根据您当前的数据,您需要用户的
id

例如:

通过sql输出数据。。您的代码应该是

<tr>
   <td data-selected="{UIDS}">{GROUPNAME}</td>
</tr>

{GROUPNAME}
示例:

<tr>
   <td data-selected="40,46">koio</td>
</tr>
<tr>
   <td data-selected="48,50">spanwave</td>
</tr>

科奥
横波

很棒的小提琴!有些人可以向你学习如何提问:D。我可能也可以学习如何发表相关评论,但这确实值得一提,所以谢谢!该死,你的小提琴好像坏了。这不是唯一的问题,但请注意ajax请求并不像JSFIDLE中那样工作。如果您有一些示例数据,您可以伪造它——请参阅JSFIDLE文档中关于如何伪造它的内容。现在,让我们来看看您的问题:问题可能是您需要一个容器DOM元素上的委托处理程序(一个包含新用户和现有用户的容器,现有选择器将用于新添加的元素),当添加新元素时,它们“继承”或“委托”处理程序。这之所以有效,是因为事件从children元素向家长冒泡。@gillyspy感谢您的回复,我只是想知道步骤。我在fiddle中发布了整个代码,因为如果我在这里和那里放错了某个部分,那么我的整个应用程序就无法工作。你知道如何解决吗?你能在fiddle的注释中粘贴一个ajax响应的示例吗?@gillyspy ajax response的意思是说?如果你想要ajax调用页面,那么我可以给出,但它不存在真讨厌的小提琴!有些人可以向你学习如何提问:D。我可能也可以学习如何发表相关评论,但这确实值得一提,所以谢谢!该死,你的小提琴好像坏了。这不是唯一的问题,但请注意ajax请求并不像JSFIDLE中那样工作。如果您有一些示例数据,您可以伪造它——请参阅JSFIDLE文档中关于如何伪造它的内容。现在,让我们来看看您的问题:问题是您是否需要在容器DOM元素(一个包含新用户和现有用户的容器,并且现有选择器适用于新添加的元素)上使用委托处理程序