Javascript Jquery代码中的Smarty变量问题?
当我在Jquery中将SMARTY变量置于Javascript Jquery代码中的Smarty变量问题?,javascript,jquery,smarty,Javascript,Jquery,Smarty,当我在Jquery中将SMARTY变量置于{literal}{$txt\u more}{/literal}之间时,在源代码中它会显示正确的文本(více不带引号),但在控制台中它会显示以下错误: ReferenceError:v\u00EDce未定义-我认为此错误是因为它不在引号中 但是当我把它放在引号中时,{code>{literal}{$txt\u more}{/literal}它在源代码中显示为'více',但不显示为带有类show\u text的强标记之间的文本(标记内部为空)。你能帮助
{literal}{$txt\u more}{/literal}
之间时,在源代码中它会显示正确的文本(více不带引号),但在控制台中它会显示以下错误:
ReferenceError:v\u00EDce未定义-我认为此错误是因为它不在引号中
但是当我把它放在引号中时,{code>{literal}{$txt\u more}{/literal}它在源代码中显示为'více',但不显示为带有类show\u text的强标记之间的文本(标记内部为空)。你能帮助我吗?多谢各位
使用SMARTY的Jquery:
$('.show_text').text({/literal}'{$txt_more}'{literal}); // verison with quotes is without error but still not display text between tags with class show_text
$('.show_text').text('show more'); // with show more typed it displays as it should on website
HTML:
错误的引用,应该是:
$('.show_text').text("{/literal}{$txt_more}{literal}");
如果您使用的是Smarty 3,您不再需要{literal},只需确保在代码中的任何{之后始终有一个空格即可 如果使用smarty 2,您不需要对文字如此具体,请记住,问题只出现在有“{”的情况下。使用以下解决方案之一,您的代码看起来会更干净:
{/literal}
$('.show_text').text('{$txt_more}');
{literal}
或者在代码开始时使用javascript变量,为了安全起见,使用literal包围其他所有内容
txt_more='{$txt_more}';
{literal}
...
$('.show_text').text(txt_more);
...
{/literal}
那么:
$('.show_text').text(“{literal}{$txt\u more}{/literal}”)呢
??很有效,谢谢你。你救了我的命。那会产生与预期相反的结果result@Borgtex我一点也不知道,斯马特,你能详细说明一下“相反”的结果吗?编辑:好的,我认为这是OP代码中的一个输入错误bad@Alex谢谢!事实上,这是我在转换之前的第一个答案。PS:真奇怪符号imho
txt_more='{$txt_more}';
{literal}
...
$('.show_text').text(txt_more);
...
{/literal}