如何在smarty section循环中使用javascript变量

时间:2012-12-16 10:06:38

标签: javascript jquery smarty

我有一个id = 2的表,我想循环它

我不知道语法,在网上找不到类似的东西 请帮忙:

<script type="text/javascript">
var u=$('#2').find('tbody > tr').size();
<%section name='i' start=0 loop=u%>
  alert('in loop');
  <%/section%>
</script> 

2 个答案:

答案 0 :(得分:0)

您应该查看生成的源代码,看看浏览器(客户端)只是获取HTML而不是智能(服务器)。你应该做的是使用JavaScript编写你的循环,然后做客户端的一切。

<script type="text/javascript">
var u = $('#2 tbody > tr').each(function() {
    alert('in loop');
});
</script> 

顺便说一句,&#34; 2&#34;不是一个正确的ID,它应该始终以一个字母开头。

答案 1 :(得分:0)

您可以在客户端完全执行此操作。您需要区分运行服务器的代码,并在客户端(即浏览器)上运行。

当你想操纵HTML表完全存在于浏览器,客户端时,你使用客户端代码来处理它,这是浏览器的语言“JavaScript”,它完全能够自己处理循环。不需要在那里使用Smarty。

你应该投入一些时间来学习JavaSciript的基础知识。

我会以http://www.w3schools.com/js/为出发点,请不要将此视为学习JavaScript所有内容的好地方,但要了解基础知识应该没问题。

根据循环示例,我相信现有的答案会为您提供正确的图片,但它会分配each的返回值,我认为您应该将其删除,以便于理解。但是,拥有它也不会对你造成伤害。

<script type="text/javascript">
   $('#2').find('tbody > tr').each(function() {
      alert('in loop');
      // You can access the current 'tr' element using $(this)

   });
</script>