Datatables 如何通过jQuery ColorBox打开jQuery服务器端数据表中的链接?

Datatables 如何通过jQuery ColorBox打开jQuery服务器端数据表中的链接?,datatables,colorbox,rowdetails,Datatables,Colorbox,Rowdetails,因此,基本上我使用jQuery Datatables服务器端功能和PHP从MySQL检索一个包含详细信息的表,如图所示 在HTML方面,以下jQuery脚本(1)引用了从MySQL获取数据的PHP脚本,(2)然后定义表并自定义行详细信息中的列 我的问题是让行详细信息中的链接与ColorBox协作 以下是我正在使用的脚本: <script type="text/javascript" charset="utf-8"> $(document).ready(functi

因此,基本上我使用jQuery Datatables服务器端功能和PHP从MySQL检索一个包含详细信息的表,如图所示

在HTML方面,以下jQuery脚本(1)引用了从MySQL获取数据的PHP脚本,(2)然后定义表并自定义行详细信息中的列

我的问题是让行详细信息中的链接与ColorBox协作

以下是我正在使用的脚本:

 <script type="text/javascript" charset="utf-8">

        $(document).ready(function() {
            memTable = $('#members').dataTable( {
                "bProcessing": true,
                "bServerSide": true,
                "sAjaxSource": "detailsm.php",
                "aoColumns": [
                    { "sClass": "center", "bSortable": false },
                    null,
                    null,
                    null,
                    { "sClass": "center" },
                    { "sClass": "center" },
                    { "sClass": "center" },
                { "sClass": "center" },

                    { "sClass": "center" }
                ],
                "aaSorting": [[1, 'desc']]
            } );

            $('#members tbody td img').live( 'click', function () {
                var memTr = $(this).parents('tr')[0];
                if ( memTable.fnIsOpen(memTr) )
                {
                    /* This row is already open - close it */
                    this.src = "datatables/details_open.png";
                    memTable.fnClose( memTr );
                }
                else
                {
                    /* Open this row */
                    this.src = "datatables/details_close.png";
                    memTable.fnOpen( memTr, fnFormatMemberDetails(memTr), 'details' );
                }
            } );
        } );

        var memTable;

        /* Formating function for row details */
        function fnFormatMemberDetails ( memTr )
        {

            var mData = memTable.fnGetData( memTr );
            var smOut = '<table cellpadding="2" cellspacing="0" border="0" style="padding-left:20px;">';
            smOut += '<tr><td><b>Member Functions:</b></td><td></td><td><b>Details:</b></td><td></td></tr>';
            smOut += '<tr><td><a class="iframesmall" href="changecontact.php?userid='+mData[1]+'&fn=chusr">Update Info</a></td><td><a class="iframe"  href="notifymember.php?memberid='+mData[1]+'">Notify</a></td>'
            +'<td>Full Name: '+mData[14]+' '+mData[3]+'</td><td>Category: '+mData[11]+' | Created by: '+mData[12]+'</td></tr>';
            smOut += '<tr><td><a class="iframe" href="renewmember.php?memberid='+mData[1]+'">Renew Subscription</a></td><td><a class="iframe" href="rp.php?memberid='+mData[1]+'">Reset Password</a></td>                                   <td>Address: '+mData[15]+', '+mData[16] +', '+mData[17]+'</td><td>Mobile: '+mData[18]+'</td></tr>';
            smOut += '<tr><td><a class="iframe" href="disactivatemember.php?memberid='+mData[1]+'">Disactivate</a></td><td><a class="iframe" href="deletemember.php?memberid='+mData[1]+'">Delete</a></td>                  <td>Last Login: '+mData[10]+ '</td><td>Last Updated: '+mData[13]+'</td></tr>';
            smOut += '</table>';
            return smOut;
        }

    </script>

$(文档).ready(函数(){
memTable=$(“#成员”)。数据表({
“bProcessing”:正确,
“bServerSide”:正确,
“sAjaxSource”:“detailsm.php”,
“aoColumns”:[
{“sClass”:“center”,“bSortable”:false},
无效的
无效的
无效的
{“sClass”:“center”},
{“sClass”:“center”},
{“sClass”:“center”},
{“sClass”:“center”},
{“sClass”:“center”}
],
“aaSorting”:[[1,'描述']]
} );
$(#members tbody td img').live('click',function(){
var memTr=$(this.parents('tr')[0];
if(memTable.fnIsOpen(memTr))
{
/*此行已打开-关闭它*/
this.src=“datatables/details\u open.png”;
memTable.fnClose(memTr);
}
其他的
{
/*打开这一排*/
this.src=“datatables/details\u close.png”;
fnOpen(memTr,fnFormatMemberDetails(memTr),‘details’);
}
} );
} );
变量记忆表;
/*行详细信息的格式化函数*/
函数fnFormatMemberDetails(memTr)
{
var mData=memTable.fngedata(memTr);
var-smOut='';
smOut+='成员函数:详细信息:';
烟雾+=''
+'全名:'+mData[14]+'+mData[3]+'类别:'+mData[11]+'|创建人:'+mData[12]+';
smOut+='地址:'+mData[15]+'、'+mData[16]+'、'+mData[17]+'手机:'+mData[18]+';
smOut+='上次登录:'+mData[10]+'上次更新:'+mData[13]+'';
烟雾+='';
返回烟雾;
}
我的ColorBox jquery脚本定义了类iframesallow,该类在上面的fnFormatMemberDetails函数中引用,该函数用于格式化jquery数据表的行详细信息

以下是fnFormatMemberDetails中的代码部分,该部分对我的行详细信息进行了格式化,如上图所示:

smOut += '<tr><td><a class="iframesmall" href="changecontact.php?userid='+mData[1]+'&fn=chusr">Update Info</a></td><td><a class="iframesmall"  href="notifymember.php?memberid='+mData[1]+'">Notify</a></td>'
            +'<td>Full Name: '+mData[14]+' '+mData[3]+'</td><td>Category: '+mData[11]+' | Created by: '+mData[12]+'</td></tr>';
smOut+=''
+'全名:'+mData[14]+'+mData[3]+'类别:'+mData[11]+'|创建人:'+mData[12]+';
下面是我的jQuery ColorBox脚本,当通过常规HTML调用时(但不是通过jQuery/javascript的HTML输出),它可以在同一页面上工作:


$(文档).ready(函数(){
//如何将ColorBox事件指定给元素的示例
$(“.photogall”).colorbox({rel:'photogall'});
$(“.photothumbs”).colorbox({rel:'photothumbs'});
$(“.iframesill”).colorbox({iframe:true,宽度:“800px”,高度:“80%”);
});
总之:如何让ColorBox处理通过jQuery/javascript生成的html链接?欢迎所有建议。多谢各位

如何让ColorBox处理通过jQuery/javascript生成的html链接

在生成这些链接后分配或重新分配colorbox。

只需在添加元素后重新应用colorbox()

            else
            {
                /* Open this row */
                this.src = "datatables/details_close.png";
                //here you add the data
                memTable.fnOpen( memTr, fnFormatMemberDetails(memTr), 'details' );
                //here you should add colorbox for the newly added elements
                $(".iframesmall").colorbox({iframe:true, width:"800px", height:"80%"});
            }

你能提供一个基于我上面代码的例子吗?(我是新来的)
            else
            {
                /* Open this row */
                this.src = "datatables/details_close.png";
                //here you add the data
                memTable.fnOpen( memTr, fnFormatMemberDetails(memTr), 'details' );
                //here you should add colorbox for the newly added elements
                $(".iframesmall").colorbox({iframe:true, width:"800px", height:"80%"});
            }