如何在Jquery的追加功能中添加Smarty功能?

时间:2016-03-11 12:51:35

标签: jquery smarty

我需要包含Jquery if函数的一些代码,但我还需要在其中插入Smarty <table> <thead> <tr> <th> Header </th> </tr> </thead> <tbody id = "body"> </tbody> </table> 。我完全被困在这里。

以下是我现在的代码:

HTML

$("#body").append("<tr>" +
                  "<td>{if $data.number eq 3}<a href="http://www.google.com">Google</a>{/if}</td>" +
                  "</tr>");

Jquery的

if

但它会将Smarty {literal}{/literal}检测为文本而不是Smarty函数。我确信我的方向不对,但我找不到任何其他解决方案。

我也尝试在{if}语句之前使用message_list = message.split() tags = [] notags = [] for e in message_list: if e.startswith('#'): tags.append(e) else: notags.append(e) ,但行为是相同的。

提前致谢!

1 个答案:

答案 0 :(得分:0)

Smarty在服务器上运行,jQuery在客户端上运行,因此您无法在客户端上运行smarty功能。但是,您可以这样做

// at first append empty row with data-number ($data-number should be echoed in php)
var currentRow = $('<tr data-number="$data.number"><tr />').appendTo('#body');

// then append Your link if condition is met
if(currentRow.attr('data-number') == 3) {
    currentRow.append('<a href="http://www.google.com">Google</a>')
}

但是,它要求您在clientSide上提供数据。是这样的吗?