eridamega Posted April 22, 2018 Share Posted April 22, 2018 (edited) Saludos a todos. Estoy probando una función muy simple Jquery en la página del producto: Cuando cambie un valor de la lista desplegable me muestre un Alert ey no me funciona es como si la librería jquery no cargara Las consola me muestra este error Uncaught ReferenceError: $ is not defined, el codigo lo uso en product.tpl aca esta el producto <script> {literal} $('select').change(function(){ alert("The text has been changed."); }); {/literal} </script> Cuando uso la función en /classic/assets/js/custom.js ni funciona la formula ni muestra el error en la consola He hecho mi investigación pero no he dado con el asunto, la línea de codigo esta en /classes/controller/AdminController.php como dice el foro . pero veo que no se carga. Como hago para que cargue Jquery y que las funciones "funcionen"? La idea del jquery es una ves funcione deseo que cuando la persona elija en el atributo NO, esconder la personalizacion del prodcuto ya que no he podido con esto Gracias por anticipado Edited April 22, 2018 by eridamega (see edit history) Link to comment Share on other sites More sharing options...
gusman126 Posted April 22, 2018 Share Posted April 22, 2018 Prueba a añadir la llamada al principio del tpl <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> Link to comment Share on other sites More sharing options...
eridamega Posted April 22, 2018 Author Share Posted April 22, 2018 hace 9 horas, gusman126 dijo: Prueba a añadir la llamada al principio del tpl <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> Gracias Solucionado, ya carga el jquery. PD, la función jquery funciona y me oculta el campo personalizacion, pero inediatamente vuelve a aparecer Link to comment Share on other sites More sharing options...
gusman126 Posted April 22, 2018 Share Posted April 22, 2018 Añade un setTimeout() a la funcion, debe ejecutarse despues de cargar los datos de los tpl y de todos los js de la plantilla Link to comment Share on other sites More sharing options...
eridamega Posted April 23, 2018 Author Share Posted April 23, 2018 (edited) Tus repuestas me han ayudado mucho, punto de partida para hacer mis funciones jquery. Creo que la función trabaja correctamente. Como la función se activa manualmente mediante la seleccion del NO en la lista desplegable yo espero 10 segundos y selecciono NO, y efectivamente se esconde el campo personalización adicionando un display none al css con jquery pero al segundo vuelve a aparecer. la función la tengo con windows on load para esperar que cargue todo $( window ).on( "load", function()... Esta es la función completa y ese es el articulo donde trabaja la función. He aquí la página del ejemplo $( window ).on( "load", function() { $('#group_6').change(function(){ if($(this).val() == '76'){ $("section.product-customization").css("display", "block"); } }); $('#group_6').change(function(){ if($(this).val() == '77'){ $("section.product-customization").css("display", "none"); } }); }); Crees que si le inlcuyo un setTimeout() podria funcionar? PD no he podido inlcuirla en un setTimeout() (mi conocmiento no me lo permite, he probado con alert y si pero no con el codigo de arriba) Edited April 23, 2018 by eridamega (see edit history) Link to comment Share on other sites More sharing options...
gusman126 Posted April 23, 2018 Share Posted April 23, 2018 Prueba con esto $( window ).on( "load", function() { $('#group_6').change(function(){ if($(this).val() == '76'){ setTimeout(function() { $("section.product-customization").css("display", "block")}, 5000); } }); $('#group_6').change(function(){ if($(this).val() == '77'){ setTimeout(function() { $("section.product-customization").css("display", "none")}, 5000); } }); }); Le he puesto 5 segundos, puede que sea demasiado, cambia a 3000 o 2000 Link to comment Share on other sites More sharing options...
gusman126 Posted April 23, 2018 Share Posted April 23, 2018 (edited) Pero debería funcionar mejor asi, lo he probado añadiendo el codigo a "console" , mira las imagenes adjuntas Y una cosa, deja como combinación principal el SI o deberías añadir otro código $(document).ready(function() { $(document).on('change', '#group_6', function(){ if($(this).val() == '76'){ setTimeout(function() { $("section.product-customization").css("display", "block")}, 5000); } if($(this).val() == '77'){ setTimeout(function() { $("section.product-customization").css("display", "none")}, 5000); } }); }); Por defecto NO , codigo adicional, comprueba que el valor del grupo 66 es NO y lo oculta $(document).ready(function() { if($('#group_6').val() == '77'){ setTimeout(function() { $("section.product-customization").css("display", "none")}, 1000); } ...... }); }); Por supuesto si el campo de TEXTO personalizable es obligatorio, recuerda añadir algo al campo if($(this).val() == '77'){ setTimeout(function() { $("section.product-customization").css("display", "none"); $('.textField1').val() == '-'; }, 5000); } Edited April 23, 2018 by gusman126 (see edit history) 1 Link to comment Share on other sites More sharing options...
eridamega Posted April 23, 2018 Author Share Posted April 23, 2018 @gusman126 infinitas gracias, se ha solucionado. Gracias por tu amabilidad y colaboracion Link to comment Share on other sites More sharing options...
gusman126 Posted April 23, 2018 Share Posted April 23, 2018 hace 7 minutos, eridamega dijo: @gusman126 infinitas gracias, se ha solucionado. Gracias por tu amabilidad y colaboracion De nada. si funciona por solucionado en el tema Link to comment Share on other sites More sharing options...
webmaster.laquinta Posted July 31, 2019 Share Posted July 31, 2019 (edited) On 4/22/2018 at 3:57 AM, gusman126 said: Prueba a añadir la llamada al principio del tpl <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> ¿de cual tpl? podrías especificar, por favor. Edited July 31, 2019 by webmaster666 (see edit history) Link to comment Share on other sites More sharing options...
webmaster.laquinta Posted July 31, 2019 Share Posted July 31, 2019 tengo el problema cuando quiero pasar a pagar la compra.... error: http://prntscr.com/omnn0z Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now