私はこの問題を抱えています。トルネードからデータのベクトルを取得します。このベクトルは「ユーザー」です。私はこのブロックを持っています
{% if users %}
{% for user in users %}
<form name="form_user_{{ user.id }}" method="post" action="/networks/{{ net.id }}/rights">
<tr>
<td>
<div>
{{ escape(user.name) }}
<input type='hidden' name="id" value='{{ user.id }}'>
</div>
</td>
<td>
<label class="radio inline" onclick="document.forms['form_user_{{ user.id }}'].submit();">
<input type="radio" name="optionsRadios" id="optionsRadios1" value="0">
None
</label>
<label class="radio inline" onclick="document.forms['form_user_{{ user.id }}'].submit();">
<input type="radio" name="optionsRadios" id="optionsRadios2" value="1">
Read
</label>
<label class="radio inline" onclick="document.forms['form_user_{{ user.id }}'].submit();">
<input type="radio" name="optionsRadios" id="optionsRadios3" value="4">
Read + Commands
</label>
{{ xsrf_form_html() }}
</td>
</tr>
</form>
{% end %}
{% end %}
今、私はこのようなjs関数を持っています:
$(document).ready(function(){
//function check(){
{% if users %}
{% if user.perm == 1 %}
$('input:radio[name=optionsRadios]:nth(1)').attr('checked',true);
//$('input:radio[name=sex]')[1].checked = true;
{% elif user.perm == 4 %}
$('input:radio[name=optionsRadios]:nth(2)').attr('checked',true);
//$('input:radio[name=sex]')[2].checked = true;
{% else %}
$('input:radio[name=optionsRadios]:nth(0)').attr('checked',true);
//$('input:radio[name=sex]')[0].checked = true;
{% end %}
{% end %}
});
しかし、トルネードは、ユーザーのリストが空の場合、変数userは初期化されないと私に言います。したがって、関数をforブロックに呼び出し、関数に名前を付けます。たとえば、function check(){}わかりません...プログラムがforブロックに入った場合にのみ、関数を呼び出すにはどうすればよいですか?
ありがとうございました!