• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

240
Vistas
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>
about 3 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

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.

about 3 years ago · Santiago Trujillo Denunciar

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> .

about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda