javascript - 如何使用 jquery 获取当前数据属性值?

标签 javascript jquery

我在 php while 循环中使用以下代码:

<tr class="odd gradeX">
    <td><?php echo $blog_id; ?></td>
    <td><?php echo $blog_title; ?></td>
    <td><?php echo $cat_name; ?></td>
    <td class="center"><img width="50" src="<?php echo SITE_URL."assets/images/blog_images/$blog_image" ?>"/></td>
    <td class="center"><?php echo $uname; ?></td>
    <td class="center"><?php echo $added_date; ?></td>
    <td class="center"><?php echo $status; ?></td>
    <td class="center"><a data-toggle="modal" class="delete" data-id="<?php echo $blog_id; ?>" data-target="#myModal" href="<?php echo AD_SITE_URL."delete.php?name=blog&blog_id=$blog_id" ?>">Delete</td>
</tr>

当我点击 delete 链接时,它会显示一个带有以下代码的弹出框:

<form >
    <div class="modal-footer">
        <input type="submit" id="deletePost" class="btn btn-danger" name="submit" value="YES">
        <input type="submit" class="btn btn-success" name="submit" value="NO"  data-dismiss="modal">
    </div>
</form> 

现在,当我按下 Yes 按钮时,它应该向我显示 delete 链接中的 data-id 值,但每次它都向我显示相同的 data-id 值。如何使用 jQuery 获取每个 delete 链接 data-id 值?

我正在使用以下代码:

<script>
$(document).ready(function() {
    $("#deletePost").click(function() {
        var id = $(".delete").attr("data-id");
        alert(id);
    });
});
</script>

最佳答案

您只需要在您的模式中创建一个隐藏字段,并在每次用户单击删除链接时填充它的值

这是工作演示

$(function() {
  $(".delete").click(function() {
    id = $(this).data('id');
    $("#myModal #post-id").val(id);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet" />
<table class="table">
  <tr>
    <th>Id</th>
    <th>Title</th>
    <th>Category</th>
    <th>Desc</th>
    <th></th>
  </tr>
  <tr class="odd gradeX">
    <td>1</td>
    <td>title 1</td>
    <td>Category</td>
    <td class="center">data</td>
    <td class="center"><a data-toggle="modal" class="delete" data-id="1" data-target="#myModal" href="#">Delete</a>
    </td>
  </tr>
  <tr class="odd gradeX">
    <td>2</td>
    <td>title 2</td>
    <td>Category</td>
    <td class="center">data</td>
    <td class="center"><a data-toggle="modal" class="delete" data-id="2" data-target="#myModal" href="#">Delete</a>
    </td>
  </tr>
  <tr class="odd gradeX">
    <td>3</td>
    <td>title 3</td>
    <td>Category</td>
    <td class="center">data</td>
    <td class="center"><a data-toggle="modal" class="delete" data-id="3" data-target="#myModal" href="#">Delete</a>
    </td>
  </tr>
  <tr class="odd gradeX">
    <td>4</td>
    <td>title 4</td>
    <td>Category</td>
    <td class="center">data</td>
    <td class="center"><a data-toggle="modal" class="delete" data-id="4" data-target="#myModal" href="#">Delete</a>
    </td>
  </tr>
  <table>

    <div id="myModal" class="modal fade" tabindex="-1" role="dialog">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <form>
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
              </button>
              <h4 class="modal-title">Modal title</h4>
            </div>
            <div class="modal-body">
              <p>Dou you want to delete</p>
              this is your hidden field for id
              <input type="text" name="id" id="post-id">
            </div>

            <div class="modal-footer">
              <input type="submit" id="deletePost" class="btn btn-danger" name="submit" value="YES">
              <input type="submit" class="btn btn-success" name="submit" value="NO" data-dismiss="modal">
            </div>
          </form>
        </div>
        <!-- /.modal-content -->
      </div>
      <!-- /.modal-dialog -->
    </div>
    <!-- /.modal -->

希望对你有帮助

关于javascript - 如何使用 jquery 获取当前数据属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40145694/

相关文章:

javascript - 在 javascript 中将日期从 dd/mm/yyyy 转换为 yyyy-mm-dd

php - 从 mysql 数据库中突出显示日期选择器中的事件

javascript - 拖动时出现意外的边距/填充 (jQuery Ui)

javascript - PHP json格式编码

javascript - 我有一个包含三个元素的 CSS 导航栏。我想让每个链接显示自己的内容而不与另一个链接重叠

javascript - 如何在 select2 插件中设置选择值 - jquery

javascript - Angular $http(...).success 不是函数有助于重写函数

javascript - 删除两个数组之间的非公共(public)项javascript

javascript - 仅对 DIV 内的文本应用样式

javascript - 用户单击后从生成的 ListView (jQuery Mobile) 中获取文本