2017-03-16 146 views
4

我正在尋找一種方法來插入數據屬性到我的表錨在CakePHP。它會自動生成以下代碼,但我不知道如何以使其成爲數據目標屬性的方式進行修改。CakePHP,jQuery的 - 添加數據屬性錨

我想要實現這一目標的原因是因爲我鏈接到同一頁上的不同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的約定(不介意列表項)來完成:

<a data-target="admin-edit">Edit</a> 
<a data-target="admin-view">View</a> 

回答

3

你有沒有試過這樣: -

<?= $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");?> 

從頁面重載預防,創建href="javascript:void(0);"鏈接如下圖所示: -

<?= $this->Html->link('View','javascript:void(0);',array('#' => 'admin-view-' . $server->id,'data-target'=>"admin-view");?> 
<?= $this->Html->link('Edit','javascript:void(0);',array('#' => 'admin-view-' . $server->id,'data-target'=>"admin-edit");?> 

如果你想防止通過jQuery的(不與上面的代碼),則: -

$('link').click(function(e){ 
    e.preventDefault(); 
    //rest your code 
}); 

注意: - 確保在此代碼之前添加了jQuery庫,並且此代碼必須位於頁面的底部。

+1

謝謝!由於它仍然是一個錨點,你知道如何防止頁面重新加載,一旦你點擊錨點(最好使用jQuery)? – Levano

+0

@Levano是檢查答案請。很高興幫助你:) –

3

這裏是關於CakePHP的的HtmlHelperlink方法

的CakePHPlink方法接受3個參數作爲其參數的細節。

  • 標題 [字符串]
  • 地址   [字符串或數組]
  • 選項/屬性 [陣列]

語法:

$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*/ 
    ] 
); 

這裏是關於Creating Links in CakePHP

有關問題的詳細信息,如果沒有必要href=''<a>標籤,然後你可以使用button或其他標記,而不是<a>標籤。

+0

的詳細信息+1 –

+0

謝謝! :) +1也@AlivetoDie –