如何将tablesorter中的href值发送到对话框模态?

时间:2016-12-13 02:56:19

标签: javascript php jquery pdo tablesorter

问题

我在将tablesorter中的href值发送/传递给对话框模式时遇到问题。 当目标位置是对话模式时,它会变得复杂。

示例(table.php)

这是我的代码的一部分,因为上面是一个PDO PHP查询从数据库中获取我的数据。 重点在于foreach中的href代码

    if($stmt->rowCount() > 0){
    $r=$stmt->fetchAll(); 
    echo "<table class='tablesorter-dropbox' id='myTable' style='width:97%; table-border: 1'>";
    echo "<thead>";
    echo "<tr style='text-align: center;'>";
    echo "<th style='text-align: center;'>No.</th>";
    echo "<th style='text-align: center;'>Conference Name</th>";
    echo "<th style='text-align: center;'>Conference Sponsor</th>";
    echo "<th style='text-align: center;'>Date (Start)</th>";
    echo "<th style='text-align: center;'>Date (End)</th>";
    echo "<th style='text-align: center;'>Budget</th>";
    echo "<th style='text-align: center;'>Status</th>";
    echo "<th style='text-align: center;'>Approve</th>";
    echo "<th style='text-align: center;'>Reject</th>";
    echo "</tr>";
    echo "</thead>";
    echo "<tbody>";


    //echo "<td><a href='reject.php?idstudent=".$row['matricno']."&idbook=".$row['serialno']."'><img src='pic/remove-icon-png-15.png' width=15px></a></td>";

    foreach ($r as $row){
        echo "<tr align='center'><td>".$row['id']."</td><td>". $row['conf_name'] ."</td><td>". $row['conf_sponsor'] ."</td><td>". $row['conf_fDate'] ."</td><td>". $row['conf_lDate'] ."</td><td>RM ". $row['conf_budget'] ."</td><td>". $row['conf_status'] ."</td><td><a href='#' onclick='this.href='indexSuperUser.php?idconf=".$row['id']."' role='button' data-toggle='modal' data-target='#login-modal3?idconf=".$row['id']."'><img src='images/good.png' width=15px></a></td><td><a href='#?idconf=".$row['id']."' role='button' data-toggle='modal' data-target='#login-modal4'><img src='pic/remove-icon-png-15.png' width=15px></a></td></tr>";
        //$startrow++;
    }

    echo "</tbody>";
    echo "</table>";
}
else{
    echo "<p align='center'>Nothing to show you :( I am really sorry for this T_T </p>";
}

示例#2(dialogmodal.php)

现在我想在这里显示表中的变量。仅出于测试目的,我试图显示 idconf 以查看id是否成功显示。

    <!-- BEGIN # MODAL LOGIN -->
<div class="modal fade" id="login-modal3" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header" align="center">
                    <img style="position:relative; LEFT:20px; WIDTH:100px; HEIGHT:100px"  id="img_logo" src="images/logofpeNEW2.png">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
                    </button>
                </div>

                <!-- Begin # DIV Form -->
                <div id="div-forms">

                    <!-- Begin # Register Super User Form -->
                    <form id="approved-form">
                        <div class="modal-body">
                            <div id="div-register-msg">
                                <div id="icon-register-msg" class="glyphicon glyphicon-chevron-right"></div>
                                <span id="text-register-msg">Approve this event?.</span>
                            </div>
                            <input type="text" id="idconf" class="form-control" value="<?php echo $_GET['idconf']; ?>">
                        </div>
                        <div class="modal-footer">
                            <div>
                                <button type="submit" class="btn btn-primary btn-lg btn-block" style="background-color: green">Approve</button>
                            </div>
                        </div>
                    </form>
                    <!-- End # Register Super User Form -->


                </div>
                <!-- End # DIV Form -->

            </div>
        </div>
    </div>
    <!-- END # MODAL LOGIN -->
<!--END LOGIN AREAD--------------------------------->

结果

结果呢?它的未定义索引:idconf或没有。意味着即时尝试发送变量,如#?idconf=".$row['id']." .......因为如果我这样放dialogmodal.php?idconf=".$row['id']." ..我的对话框最终会打开另一个很奇怪的对话框。

流量

流程很简单。从table.php开始,它将从我的数据库中获取数据并使用tablesorter插件显示。然后它将在对话框模态下打开。表格的右侧有已批准已拒绝。所以这两件事来自href本身。就像在图片上一样。

enter image description here

重复的吗

也许是的。但它有点不同。我在这里给两个链接几乎和我一样的问题: Dynamically load information to Twitter Bootstrap modal

Send parameter to Bootstrap modal window?

然而。我认为我的问题有点困难。我点击按钮时不显示数据。但相反,我需要先单击按钮打开模态对话框,然后单击href按钮打开具有唯一ID的每一行。

我的stackoverflow帐户可能会随时被阻止,因为我收到了许多downvoted问题。我不知道现在人们会发生什么。所以我试着在这里做正确和详细的。如果仍然被投票,那将是我的最后一次...... :)

1 个答案:

答案 0 :(得分:1)

哦,没关系。我通过使用某人来解决问题。我不记得链接,但他提到使用“data-your variable”并使用jquery调用它并将其发送回模态对话框ID。喜欢这个

<a id='approved' href='#' role='button' data-toggle='modal' data-target='#login-modal3' data-id='".$row['idconf']."' data-confname='".$row['conf_name']."' data-confsponsor='".$row['conf_sponsor']."' data-conffdate='".$row['conf_fDate']."' data-confldate='".$row['conf_lDate']."' data-confbudget='".$row['conf_budget']."' data-confstatus='".$row['conf_status']."' data-useremail='".$row['email']."' data-username='".$row['name']."' data-balanceuser='".$row['balance']."' data-m='".$row['matricNo_fk']."'><img src='images/good.png' width=15px></a>

查看我发送了多少数据?然后使用像这样的jquery来调用它。

$(document).on("click", "#approved", function () {
        var idconf = $(this).data('id');
        var confname = $(this).data('confname');
        var confsponsor = $(this).data('confsponsor');
        var conffdate = $(this).data('conffdate');
        var confldate = $(this).data('confldate');
        var confbudget = $(this).data('confbudget');
        var confstatus = $(this).data('confstatus');
        var useremail = $(this).data('useremail');
        var username = $(this).data('username');
        var balanceuser = $(this).data('balanceuser');
        var m = $(this).data('m');

声明此变量后,然后在此代码的下一行,将其发送到模式对话框ID,如此。

$(".modal-body #idconf").val( idconf );
$(".modal-body #nameconf").val( confname );
$(".modal-body #sponsorconf").val( confsponsor );
$(".modal-body #dateSconf").val( conffdate );
$(".modal-body #dateEconf").val( confldate );
$(".modal-body #budgetconf").val( confbudget );
$(".modal-body #statusconf").val( confstatus );
$(".modal-body #emailuser").val( useremail );
$(".modal-body #nameuser").val( username );
$(".modal-body #balanceuser").val( balanceuser );
$(".modal-body #m").val( m );
$('#addBookDialog').modal('show');

在模态对话框中,使用提到的ID。

<form id="approved-form">
                    <div class="modal-body">
                        <div id="div-register-msg">
                            <div id="icon-register-msg" class="glyphicon glyphicon-chevron-right"></div>
                            <span id="text-register-msg">Approve this event?.</span>
                        </div>
                        <input type="hidden" id="idconf" class="form-control" value="" disabled>
                        <input type="text" id="nameconf" class="form-control" value="" disabled>
                        <input type="text" id="sponsorconf" class="form-control" value="" disabled>
                        <input type="text" id="dateSconf" class="form-control" value="" disabled>
                        <input type="text" id="dateEconf" class="form-control" value="" disabled>
                        <input type="text" id="balanceuser" class="form-control" value="" disabled>
                        <input type="text" id="budgetconf" class="form-control" value="" disabled>
                        <input type="text" id="statusconf" class="form-control" value="" disabled>
                        <input type="text" id="emailuser" class="form-control" value="" disabled>
                        <input type="text" id="nameuser" class="form-control" value="" disabled>
                        <input type="hidden" id="m" class="form-control" value="" disabled>
                    </div>

我并不是说这在速度或其他方面都很有效。但它解决了我的问题和用户问题。案例解决了