繁体   English   中英

如何使用jQuery获取当前数据属性值?

[英]How to get current data attribute value using 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 --> 

希望对您有所帮助

var id;
$("#tableid tbody").on('click','.delete', function(e){
    // show your modal
    id = $(this).attr("data-id");
});

每次单击该行的删除按钮时,都设置一个附加的data-id属性以提交按钮

$('.delete').on('click',function(){
    $('[name=submit]').attr('data-id',$(this).data('id'));
}) 

&在关闭数据模型时,您可以删除该属性,(当您单击ajax成功提交时,可以重复删除属性功能)

$('.close').on('click', function(){
   $('[name=submit]').removeAttr('data-id'))
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM