Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP,jQuery-将数据属性添加到锚点_Php_Jquery_Cakephp_Attributes - Fatal编程技术网

CakePHP,jQuery-将数据属性添加到锚点

CakePHP,jQuery-将数据属性添加到锚点,php,jquery,cakephp,attributes,Php,Jquery,Cakephp,Attributes,我正在寻找一种在CakePHP中向表锚插入数据属性的方法。它会自动生成以下代码,但我不知道如何将其更改为数据目标属性 我之所以要实现这一点,是因为我链接到同一页面上的不同div,并希望防止页面重新加载。我是否必须从jQuery中插入preventDefault()?若有,如何处理? 这是我当前的代码: <?php foreach ($servers as $server): ?> <tr> <td><?= $this->Number-

我正在寻找一种在CakePHP中向表锚插入数据属性的方法。它会自动生成以下代码,但我不知道如何将其更改为数据目标属性

我之所以要实现这一点,是因为我链接到同一页面上的不同div,并希望防止页面重新加载。我是否必须从jQuery中插入
preventDefault()
?若有,如何处理?

这是我当前的代码:

<?php foreach ($servers as $server): ?>
  <tr>
     <td><?= $this->Number->format($server->id) ?></td>
     <td><?= h($server->url) ?></td>
     <td><?= h($server->description) ?></td>
     <td><?= h($server->Timestamp) ?></td>
     <td class="actions">
         <?= $this->Html->link('View', array('#' => 'admin-view-' . $server->id)) ?>
         <?= $this->Html->link('Edit', array('#' => 'admin-edit-' . $server->id)) ?>
     </td>
   </tr>
<?php endforeach; ?>

这是我想要的结果;必须使用CakePHP约定(不要介意列表项):

编辑
看法
您是否尝试过:-

<?= $this->Html->link('View',array('#' => 'admin-view-' . $server->id,'data-target'=>"admin-view");?>
<?= $this->Html->link('Edit',array('#' => 'admin-view-' . $server->id,'data-target'=>"admin-edit");?>
如果要通过jQuery(而不是使用上述代码)进行阻止,则:-


注意:-确保在此代码之前添加jQuery库,并且此代码必须位于页面底部。

以下是有关CakePHPHtmlHelper
链接的详细信息

CakePHP
link
方法将3个参数作为其参数

  • 标题[字符串]
  • Url[字符串或数组]
  • 选项/属性[数组]
语法:

 $this->Html->link($title, $url = null, array $options = []);
echo $this->Html->link(
   'Title',
   '/path/to/url', #OR ['controller'=>'','action'=>'','others']
   [
     'class' => 'button',
     'target' => '_blank',
     'data-url'=>'#',
     'data-path'=>'',
     /*Other attributes*/
   ]
);
示例:

 $this->Html->link($title, $url = null, array $options = []);
echo $this->Html->link(
   'Title',
   '/path/to/url', #OR ['controller'=>'','action'=>'','others']
   [
     'class' => 'button',
     'target' => '_blank',
     'data-url'=>'#',
     'data-path'=>'',
     /*Other attributes*/
   ]
);

以下是关于

对于您的问题,如果在
标记中不需要
href='
,那么您可以使用
按钮
或其他标记来代替
标记


非常感谢。由于它仍然是一个锚,你知道如何防止页面在点击锚后重新加载吗(最好使用jQuery)?@Levano是请检查答案。很高兴为您提供帮助:)有关详细信息+1谢谢!:)+1还@AlivetoDie
echo $this->Html->link(
   'Title',
   '/path/to/url', #OR ['controller'=>'','action'=>'','others']
   [
     'class' => 'button',
     'target' => '_blank',
     'data-url'=>'#',
     'data-path'=>'',
     /*Other attributes*/
   ]
);