将鼠标悬停在按钮上会更改SQL查询的变量以显示正确的数据

时间:2019-02-25 13:28:54

标签: javascript php ajax

我的目标是有几个按钮,当您将它们悬停在一个按钮上时,div会显示用户正在悬停在该按钮上的信息。

每个按钮都是从我的数据库创建的,每个按钮都有其自己的值。

按钮的值与其在SQL查询中用来显示属于按钮的正确数据的值。

我的问题是,当用户将鼠标悬停在按钮上时,我正在使用javascript和AJAX来获取按钮上的按钮值,这意味着当信息div弹出时,我使用AJAX捕获的值不会更新,直到页面被刷新。

我还远不是专家,而且我确信我已经使它变得比所需的更加复杂:

1)我从数据库中打印出按钮:

while($row = mysqli_fetch_array($result)) {
          echo ' <input type="text" id="submitfakta" name="submitted-btn" value="'.$row['Name'].'">

2)然后,我使用Javascript和AJAX来获取悬停时的按钮值:

<script>
   $('#submitfakta').live('mouseover mouseout', function(e) {
     if (e.type == 'mouseover') {
         var idAttr = $(this).attr('value');
         //alert($(this).attr('id'));
         $.ajax({
             type: "POST",
             url: 'abu.php',
             data: {idAttr : idAttr },
             success: function(data)
             {
return data;
             }
         });

     }
   });
   </script>

3)通过设置display:none,仅使用css即可弹出信息div,当我将鼠标悬停在按钮上时,div设置为display:block

4)在abu.php中,我尝试使用SESSION将按钮的值返回到我的页面并用于查询:

   $_SESSION["abu"] = $_POST["idAttr"];

但这是一个糟糕的解决方案,因为会话不会在您悬停时立即更新,而是在刷新页面后首先更新。

1 个答案:

答案 0 :(得分:0)

首次使用类

while($row = mysqli_fetch_array($result)) {
      echo ' <input type="text" class="submitfakta" name="submitted-btn" value="'.$row['Name'].'">

然后

   $('.submitfakta').on('mouseover', function() {
     var idAttr = $(this).attr('value');
     //alert($(this).attr('id'));
     $.ajax({
         type: "POST",
         url: 'abu.php',
         data: {idAttr : idAttr },
         success: function(data)
         {
            return data;
         }
     });
 });

希望这行得通