在我的fiddle有两个表(在用户选项卡中),一个用于显示组成员,另一个用于显示组名称。在 fiddle 中,一些已创建的组是 test3、spanwave 和 koio。spanwave 的成员是 namenayak 和 ajay。类似地koio 的成员是 steven 和 name。现在假设如果我单击 spanwave,则左侧表格中的 namenayak 和 ajay 复选框将被选中。同样,如果我单击 koio 组,则 steven 和 name 将被选中。这是有效的对于新创建的组来说很好,但我不知道如何获得与现有组相同的工作。
新创建的群组单击超过2个复选框,然后会出现一个群组按钮,现在单击群组按钮,然后会出现一个警报弹出窗口,要求您输入群组名称。输入一些名称,然后单击“确定”。然后该名称现在将出现在右侧组表中。现在单击组名称,然后将选择这些成员。我也想从现有组中选择相同的名称。请告诉我如何操作。
新创建组的 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++;
}
});
最佳答案
根据您当前的数据,您需要用户的id
示例:http://sqlfiddle.com/#!2/bc9d57/1
通过sql输出数据..你的代码应该是这样的
<tr>
<td data-selected="{UIDS}">{GROUPNAME}</td>
</tr>
示例:
<tr>
<td data-selected="40,46">koio</td>
</tr>
<tr>
<td data-selected="48,50">spanwave</td>
</tr>
关于javascript - 使用jquery从组中获取组成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20438272/