如何使用jquery从url获取主键?

时间:2014-03-17 05:17:58

标签: jquery

我在django上有一个应用程序,我想添加机会jquery。 我想从表中删除一行。要从数据库中删除值,我应该找到一个主键。

HTML:

<tr>
    <td><a href="#" id="name" data-type="text" data-pk="31" data-url='/handbook/customers/31/change/' data-title="Enter value">Intel</a></td>
    <td>
        <p><a class="btn-danger" role="button" href='/handbook/customers/31/delete/'>Delete</a></p>
    </td>        
</tr>

jquery的:

<script>
$( document ).ready(function()
{
    $('.btn-danger').click(function()
    {
        var result = window.confirm('Warning! Are you sure?');
        if (result == true)
        {                
            // I want to receive a primary key from url here (31 in example)          
        }    
    }); 
}); 
</script>

3 个答案:

答案 0 :(得分:1)

您可以使用 .attr()

var primaryKey = $('#name').attr('data-pk');

.data()

var primaryKey = $('#name').data('pk');

编辑:根据您的评论,您可以执行以下操作:

$('.btn-danger').click(function()
{
    var result = window.confirm('Warning! Are you sure?');
    if (result == true)
    {                
        var primaryKey = $(this).closest('td').prev().find('a').attr('data-pk');           
    }    
}); 

附注:由于id是唯一的,因此您需要使用类代替您的主播,因此将id="name"更改为class="name"

<td><a href="#" class="name" data-type="text" data-pk="31" data-url='/handbook/customers/31/change/' data-title="Enter value">Intel</a></td>

答案 1 :(得分:0)

我认为您需要从网址中选择主键,并且您可以尝试使用

$( document ).ready(function()
{
    $('.btn-danger').click(function(e)
    {

        var result = window.confirm('Warning! Are you sure?');
        if (result == true)
        {                

            var t= $(this).attr('href');
            var rem = '/handbook/customers/';
            var rem2 ='/delete/';
            var result = t.split(rem).join('');
            var result2 = result.split(rem2).join('');


            alert(result2);
            // I want to receive a primary key from url here (31 in example)          
        }    
    }); 
});

答案 2 :(得分:0)

  <div style="display:none;">
            <input type="text" id="id_pk" value="{{receivepo.receive_po_id}}">
          </div>

其中receivepo是对象名称,它必须是小写字母(我的对象名称是ReceicePo),而receive_po_id是主键 和jQuery

var primaryKey = $("#id_pk").val();