Localhost返回“未定义”而不是唯一ID

时间:2019-07-19 02:15:40

标签: javascript php mysql ajax

我正在尝试编写一个脚本,单击该脚本将返回数据库的唯一ID。我尝试阅读不同的论坛以找到解决方案,但是不幸的是,我还没有找到任何有用的方法。

<?php
          $table  = mysqli_query($conn ,'SELECT * FROM content');
          while($row  = mysqli_fetch_array($table)){ ?>
            <tr id="<?php echo $row['uidContent']; ?>">
              <td width="200" data-target="themeContent"><?php echo $row['themeContent']; ?></td>
              <td width="300" data-target="visualIdeaContent"><?php echo $row['visualIdeaContent']; ?></td>
              <td width="600" data-target="captionContent"><?php echo $row['captionContent']; ?></td>
              <td width="100" data-target="dateContent"><?php echo $row['dateContent']; ?></td>
              <td width="200" data-target="visualContent"><img src="<?php echo $row['visualContent']; ?>"width="200"/></td>
              <td width="170">
                <a class="badge badge-primary p-2" role="button" data-target="linkContent" href="<?php echo $row['linkContent']; ?>" target="_blank">Link</a>
                <a class="badge badge-success p-2" href="#" data-role="update" data-id="<?php echo $row['uidContent'] ;?>">Edit</a>
                <a class="badge badge-danger p-2" role="button" href="action.inc.php?delete=<?php echo $row['uidContent'] ;?>" >Delete</a>
              </td>
            </tr>
          <?php }
          ?>

唯一ID通过“ data-id”存储在此代码行中

<a class="badge badge-success p-2" href="#" data-role="update" data-id="<?php echo $row['uidContent'] ;?>">Edit</a> 

JavaScript

<script>
$(document).ready(function(){
  $(document).on('click','a[data-role=update]',function(){
    alert($(this).data('uidContent'));
  });
});
</script> 

我希望localhost返回唯一ID (例如,“ localhost:2066”),但是,它返回的结果是“ localhost:undefined” ... 刚开始,我认为这是数据库问题,但是现在我知道情况并非如此,因为当我检查相关按钮时会显示独特的想法。 Screenshot of the IDs

1 个答案:

答案 0 :(得分:0)

数据参数应为data('id')。使用$(this).data('id')代替$(this).data('uidContent')

  

jQuery .data()-分隔符之后接受参数。例如:如果HTML属性为data-id="localhost: 2066",则要获取此属性值,我们必须像$(selector).data('id')那样调用。

示例代码

$(document).ready(function(){
  $(document).on('click','a[data-role=update]', function() {
    alert($(this).data('id'));
    //                ^^^^^^
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<a class="badge badge-success p-2" href="#" data-role="update" data-id="localhost: 2066">Edit</a>