当我在Jquery的{literal}{$txt_more}{/literal}
之间放置SMARTY变量时,在源代码中它显示正确的文本(没有引号)但在控制台中显示此错误:
ReferenceError:v \ u00EDce未定义 - 我认为这个错误是因为它不在引号中
但当我把它放入引号{literal}'{$txt_more}'{/literal}
时,它在源代码中显示为'více',但不会在带有类show_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:
<a href="#">
<strong class="show_text" style=" margin-top: 5px; text-align:center; overflow:hidden;white-space:nowrap;position:absolute; z-index:2"></strong>
<img style="position:relative;" class="cond-arr" src="/css/showmore.png" alt="show_more" />
</a>
答案 0 :(得分:1)
错误的引用,应该是:
$('.show_text').text("{/literal}{$txt_more}{literal}");
答案 1 :(得分:0)
如果你正在使用Smarty 3,那么你就不再需要{literal}了,只需确保在你的代码之后总是有空格{/ p>
如果使用smarty 2,你不需要对文字如此具体,请记住问题仅在有&#34; {&#34;。使用以下解决方案之一,您的代码看起来会更清晰:
{/literal}
$('.show_text').text('{$txt_more}');
{literal}
或在代码开头使用javascript变量并使用文字包围其他所有内容只是为了安全
txt_more='{$txt_more}';
{literal}
...
$('.show_text').text(txt_more);
...
{/literal}