javascript - 当我按下按钮时如何获取特定数据

标签 javascript php jquery html

我创建了一个搜索页面,它根据输入的值给出结果。我想要的是在用户按下注册按钮时获取广告的具体详细信息。但我得到的是所有广告的详细信息,而不是用户想要注册的广告。 这是代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="css/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="css/font-awesome/css/font-awesome.min.css">
    <link rel="stylesheet" href="css/basic.css">
    <script src="js/jQuery/jquery.min.js"></script>
    <script src="css/bootstrap/js/bootstrap.min.js"></script>

    <script src="https://cdn.jsdelivr.net/jquery.validation/1.15.1/jquery.validate.min.js"></script>
    <script src="Forms/form-validation.js"></script>
</head>
<body>
<?php 
session_start();
require 'connection.php';
//include_once 'utlities.php';

$userEmail=$_SESSION['user'];
$form_string = 'd';

$sqlQuery ='SELECT * FROM `course` WHERE `course_title` LIKE "%'.$form_string.'%" OR `user_teacher` in (SELECT user_teacher FROM teacher where email in (SELECT email from person where fname like "%'.$form_string.'%" OR lname like "%'.$form_string.'%"));';
$queryExe=mysqli_query($connection,$sqlQuery);
$row = mysqli_fetch_assoc($queryExe)
 ?>
<div class="panel-body">
                    <?php while($row = mysqli_fetch_assoc($queryExe)) { ?>
                    <article class="row panel panel-default">

                        <div class="col-xs-6 col-xs-offset-3  col-sm-3 col-sm-offset-0">
                            <a href="#" title="Lorem ipsum" class="thumbnail"><img src="images/profile-default.jpg" alt="Lorem ipsum" /></a>
                        </div>
                        <div class="col-xs-12 col-sm-3">
                            <ul class="list-group">
                                <li class="list-group-item">
                                    <i class="glyphicon glyphicon-book"></i>
                                    <span>
                                        <?php
                                            echo " ".$row["description"];
                                        ?>
                                    </span>
                                    </li>
                                    <li class="list-group-item">
                                    <i class="glyphicon glyphicon-tags"></i>
                                    <span id="courseid" >
                                        <?php
                                            echo " Course ID ".$row["courseid"];
                                        ?>
                                    </span>
                                    </li>
                                <li class="list-group-item">
                                    <i class="glyphicon glyphicon-tags"></i>
                                    <span>
                                        <?php echo" Rs. ".$row["fees"];
                                        ?>
                                    </span>
                                </li>
                            </ul>
                        </div>
                        <div class="col-xs-12 col-sm-6">
                            <h3>
                                <a href="#" title="">
                                    <?php 
                                        $sql_profile = 
                                            "SELECT `fname`,`lname`,`email`
                                                FROM `person` 
                                                WHERE `email`=(
                                                    SELECT `email` 
                                                    FROM `teacher` 
                                                    WHERE `user_teacher`=".$row["user_teacher"]."
                                                    );   
                                                ";

                                        $result_sql=mysqli_query($connection,$sql_profile);
                                        $tName = mysqli_fetch_assoc($result_sql);
                                        echo $tName["fname"]." ".$tName["lname"];
                                        $_SESSION['temail']= $tName["email"];
                                    ?>
                                </a>
                            </h3>
                            <h6><?php echo $tName['email']; ?></h6>
                            <p class="hidden-xs"><?php echo $row["course_title"]; ?></p>
                            <span class="plus">
                                <a href="#" title="Enroll" class="btn btn-success" 
                                  <?php
                                    /*if(loggedIn()){

                                         echo 'data-toggle="modal" data-target="#enroll "';

                                    }else{

                                        echo 'data-toggle="modal" data-target="#LOGIN "';
                                    }
                                    /**/
                                  ?>>
                                  <i class="glyphicon glyphicon-plus" id="enroll" ></i><span>Enroll</span>
                                </a>
                            </span>
                        </div>          
                    </article>
                    <?php 
                     }
                    ?>
                </div>


<script type="text/javascript">
    $(document).ready(function() {
        $('#enroll').click(function() {
            alert($("article").find("#courseid,h6").text());
        });
    });
</script>

</body>
</html>

最佳答案

HTML 中的标识符必须是唯一的您在循环中生成元素,这将创建重复的 ID,因此生成的 HTML 将无效。

将 CSS 类与元素一起使用,然后使用它附加事件处理程序。您可以使用 data-* 自定义属性关联任意数据,该自定义属性可以使用 .data() 获取。

HTML

<i class="glyphicon glyphicon-plus enroll" data-email="<?php echo $tName['email']; ?>" data-courseid="<?php echo $row['courseid']; ?>"></i><span>Enroll</span>

脚本

$('.enroll').click(function() {
    var email = $(this).data('email');
    var courseid = $(this).data('courseid');            
});

关于javascript - 当我按下按钮时如何获取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45142692/

相关文章:

javascript - jQuery .replaceWith 每个只有一次

javascript - 在 HEAD 中最后一个硬编码的 JavaScript 文件引用之后附加 JavaScript 文件引用

没有 DB 生成框架的 PHP MySQL 页面生成

javascript - 使用 JQuery 选择路径元素填充

javascript - 从数组向 Chart.JS 添加标签和颜色

javascript - 文档的 onclick 事件阻止元素的事件

javascript - 应用条件过滤器以获取 JSON 数组上的唯一值

php - 从选择标签中获取值(自动制作)

php - Laravel Ardent 多对多关系抛出错误

javascript - 如何从异步调用返回响应?