CakePHP 2.4:如何从cakephp中的postlink获取id值?

时间:2014-10-28 06:11:25

标签: cakephp cakephp-2.4

我想从postlink获取id值。这是index.ctp中的删除postlink

 <?php 

        echo $this->Form->postLink(

            $this->Html->tag('i', '', array('class' => 'glyphicon glyphicon-remove')),
            array('action' => 'delete', $user['User']['id'],'class'=>'del'),
            array('escape'=>false,'class'=>'btn btn-sm btn-danger'),
        __('Are you sure you want to delete # %s?', $user['User']['id'])
    );

    ?>

我已经通过jquery

尝试了下面的代码
$('document').ready(function(){
      var x=jQuery(this).attr("id");
      alert(x);
});

这里我没有得到任何价值。如何获得ajax提交的id?

4 个答案:

答案 0 :(得分:0)

您正在尝试获取值id值,并且该链接不存在。

如果你想获得id的值,你需要先定义它。有关如何使用cakePHP html帮助程序分配额外值的一些示例,请查看以下链接。

答案 1 :(得分:0)

您可以使用data-attribute

echo $this->Form->postLink(

        $this->Html->tag('i', '', array('class' => 'glyphicon glyphicon-remove')),
        array('action' => 'delete', $user['User']['id'],'class'=>'del'),
        array('escape'=>false,'class'=>'btn btn-sm btn-danger', 'data-idVal' => $user['User']['id']),
    __('Are you sure you want to delete # %s?', $user['User']['id'])
);

然后

$('document').ready(function(){
  var x=jQuery(this).data("idVal");
  alert(x);
});

答案 2 :(得分:0)

实际上,$ this-&gt; Form-&gt; postLink()不会为删除链接分配ID。您可以按照以下方式执行此操作

echo $this->Form->postLink(

    $this->Html->tag('i', '', array('class' => 'glyphicon glyphicon-remove')),
    array('action' => 'delete', $user['User']['id'],'class'=>'del'),
    array('escape'=>false,'class'=>'btn btn-sm btn-danger', 'id' => $user['User']['id']),
    __('Are you sure you want to delete # %s?', $user['User']['id'])
);

要获得id,你必须在jquery的.click事件中编写代码,类似于以下

$( ".del" ).click(function() {
    var x=jQuery(this).attr("id");
    alert(x); 
});

答案 3 :(得分:0)

这不是一个好习惯,但我已经轻松解决了这个问题

我已将此帖子链接更改为

<button class="del" id=<?php echo $user['User']['id']; ?>>Delete </delete>

现在我已经通过

获得了这个ID
$('.del').click(function(){
var x=$(this).attr("id");
alert(X);
}