1

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> 
4

2 に答える 2

0

生成されたソースを調べて、ブラウザー(クライアント)がHTMLを取得し、smarty(サーバー)を取得していないことを確認する必要があります。あなたがすべきことは、JavaScriptを使用してループを記述し、クライアント側ですべてを実行することです。

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

ちなみに、「2」は正しいIDではないので、常に文字で始める必要があります。

于 2012-12-16T10:44:45.077 に答える
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> 
于 2012-12-16T12:29:17.883 に答える