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>
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>
生成されたソースを調べて、ブラウザー(クライアント)がHTMLを取得し、smarty(サーバー)を取得していないことを確認する必要があります。あなたがすべきことは、JavaScriptを使用してループを記述し、クライアント側ですべてを実行することです。
<script type="text/javascript">
var u = $('#2 tbody > tr').each(function() {
alert('in loop');
});
</script>
ちなみに、「2」は正しいIDではないので、常に文字で始める必要があります。
これは完全にクライアント側で行うことができます。サーバーを実行しているコードと、ブラウザであるクライアントで実行しているコードを区別する必要があります。
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>