我有这个问题。我从 Tornado 中获取数据向量。这个向量是“用户”。我有这个块
{% 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 %}
});
但是 Tornado 告诉我,当用户列表为空时,变量 user 没有被初始化。所以我会将函数调用到 for 块中,将函数命名为例如 function check(){} 我不知道......只有当程序进入 for 块时,我才能如何调用函数?
谢谢!