Ayuda: al momento de mostrar la variable id_img
de JavaScript me sale error. ¿Cómo haría para poder mostrar una imagen con JavaScript?
$(function () { $(".btn-modal").on("click", function () { var id_img = $(this).attr("data-id"); $(".img-selected").html('<img src="{{asset("bundles/acmedemo/img/"+id_img+".jpg")}}" '); }); })
Respuestas
El problema que veo en tu código es que estás mezclando en el mismo código algo que se ejecuta en el servidor (función asset()
de Twig) con algo que se ejecuta en el navegador (la concatenación de la variable id_img
de JavaScript).
La solución a este problema depende de cada aplicación. En algunos casos se ejecuta asset()
en el servidor y luego el valor generado se manipula con JavaScript. En otros casos se ejecuta código JavaScript puro (existe por ejemplo un bundle muy bueno llamado FOSJsRoutingBundle que permite generar cualquier ruta de Symfony2 en el navegador).
En tu caso, optaría por una solución mucho más sencilla. Dado que parece que la ruta generada con asset()
es sencilla y predecible, lo que yo haría es olvidarme de Twig y escribir a mano la parte fija de la ruta de la imagen:
$(function () { $(".btn-modal").on("click", function () { var id_img = $(this).attr("data-id"); $(".img-selected").html('<img src="/bundles/acmedemo/img/" + id_img + ".jpg" />'); }); })
@javiereguiluz