Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery代码中的Smarty变量问题?_Javascript_Jquery_Smarty - Fatal编程技术网

Javascript 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的强标记之间的文本(标记内部为空)。你能帮助

当我在Jquery中将SMARTY变量置于
{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}