Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

357
Views
CakePHP, jQuery - Agregar atributo de datos al ancla

Estoy buscando una forma de insertar un atributo de datos en los anclajes de mi tabla en CakePHP. Genera automáticamente el siguiente código, pero no tengo ni idea de cómo modificarlo de manera que lo convierta en un atributo de destino de datos.

La razón por la que quiero lograr esto es porque estoy vinculando a diferentes div en la misma página y quiero evitar que la página se vuelva a cargar . ¿Tengo que insertar un preventDefault() de jQuery? Y si es así, ¿cómo hacerlo?

Este es mi código actual:

 <?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; ?>

Aquí está el resultado que estoy buscando; tiene que hacerse usando las convenciones de CakePHP (no importa el elemento de la lista):

 <a data-target="admin-edit">Edit</a> <a data-target="admin-view">View</a>
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Probaste esto:-

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

Para evitar que se vuelva a cargar la página, cree un enlace con href="javascript:void(0);" como abajo:-

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

Si desea evitar a través de jQuery (no con el código anterior), entonces:

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

Nota: - Asegúrese de que la biblioteca jQuery se agregue antes de este código y este código debe estar en la parte inferior de la página.

over 4 years ago · Santiago Trujillo Report

0

Aquí están los detalles sobre el método de link CakePHP HtmlHelper

Los métodos de link de CakePHP toman 3 argumentos como parámetros.

  • Título [Cadena]
  • Url [cadena o matriz]
  • Opciones/Atributos [Matriz]

Sintaxis:

 $this->Html->link($title, $url = null, array $options = []);

Ejemplo :

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

Aquí están los detalles sobre la creación de enlaces en CakePHP

Para su problema, si no necesita href='' en la etiqueta <a> , entonces puede usar el button u otras etiquetas en lugar de la etiqueta <a> .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Virtual assistant