javascript - 如何将表排序器中的 href 值发送到对话框模式?

标签 javascript php jquery pdo 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--------------------------------->

结果

结果呢?它要么是 undefined index :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 帐户可能随时被封锁,因为我收到了很多被否决的问题。我不知道现在的人们会发生什么。所以我尝试在这里做得正确和详细。如果仍然被否决,这将是我最后一次在这里..:)

最佳答案

哦,没关系。我通过使用某人的方法解决了这个问题。我不记得链接了,但感谢他提到使用“数据-你的变量”并使用 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>

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

关于javascript - 如何将表排序器中的 href 值发送到对话框模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41113040/

相关文章:

php - 在子类中更改父类变量的值

php - 更智能的方式来编写我的新手重复的 PHP?

javascript - lodash中的一个数组映射函数

JavaScript 在光标前获取单词

javascript - jQuery Find 无法使用 HTML 模板

Phpseclib:部分文件下载

javascript - 使用 ajax 和 jquery 完成工作后显示 html

javascript - 无法在 Java 脚本中加载页面时显示两个警报按钮

javascript - 启用/禁用基于输入字段的提交按钮(已填充/未填充)

javascript - 向左/向右滚动到照片卷轴中的选定图像