我需要包含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)
,但行为是相同的。
提前致谢!
答案 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上提供数据。是这样的吗?