Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django多HTML表单jquery选择器_Jquery_Html_Django_Forms - Fatal编程技术网

Django多HTML表单jquery选择器

Django多HTML表单jquery选择器,jquery,html,django,forms,Jquery,Html,Django,Forms,因此,我有一些模板逻辑,可以从我传递的字典中为每个键创建一个HTML表单: {%if students%} {%for data,student in students.iteritems%} <form onsubmit = "return false;" id="{{forloop.counter}}"> {% csrf_token

因此,我有一些模板逻辑,可以从我传递的字典中为每个键创建一个HTML表单:

{%if students%}

                    {%for data,student in students.iteritems%}

                        <form  onsubmit = "return false;" id="{{forloop.counter}}">
                            {% csrf_token %}

                            <tr>
                            <td>{{student.name}}</td>
                            {%ifequal student.grade ' '%}
                                <td><input type=text  size="1"  id ='Grade'     name='Grade' maxlength="1" /></td>
                                <td><input type=text  size="50" id = 'Feedback' name='Feedback' /></td>

                            {%else%}
                                <td><input type=text  size="1"  id ='Grade' name='Grade' maxlength="1" value = "{{student.grade}}"/></td>
                                <td><input type=text  size="50" id = 'Feedback' name='Feedback' value = "{{student.feedback}}"/></td>

                            {%endifequal%}
                                <td><button type='submit' class="radius button success medium" onclick=submitGrade("{{forloop.counter}}")>Save</button></td>
                                <td><img src="{% static "img/check.png" %}"></td>
                                <td><input type=hidden id = 'email' name = "email" value = "{{student.email}}"></td>
                            </tr>
                        </form>

                    {%endfor%}
                    </form>
            {%endif%}
{%if students%}
{%用于数据,学生在学生中。iteritems%}
{%csrf_令牌%}
{{student.name}
{%ifequal student.grade'%}
{%else%}
{%endifequal%}
拯救
{%endfor%}
{%endif%}

这将创建n个表单,第一个表单的id为1,第二个表单的id为2。,第n个是n。现在,当我在chrome中打开javascript控制台并尝试执行
$('#1')
时,例如,它返回的是
[​​]。由于某种原因,
未与表单关联。当我尝试从javascript控制台运行
$(“#Grade')
时,它会显示
[​]
这是我希望为第一个表单的成绩输入呈现的内容。为什么输入字段没有与其各自的表单相关联?

ID应该是唯一的。看起来您没有在
ID中使用
forloop.counter
。这意味着您的
for
循环正在复制
Id=“Grade”
id=“feedback”
作为每个表单的输入id。此外,使用JQuery选择id只会处理找到的id的第一个实例,除非它是通过
.find()
-即
$('#form1').find('input[id=“1]”)捕获的。

例如:

应该是:

id=“feedback”

////////

此外,使用命名ID可能更好一些,例如:

更适合以下情况:


因此,可以通过编写
$('#form1')
$('#form2')
等来捕获id。

嘿,我按照您的要求做了,但它并没有解决问题。我想出于某种原因,模板标记会与您尝试的jqueryID混淆:
$('#2')。查找('#等级')
(使用您的代码)或
$('#form2')。查找('#等级)
(使用我的代码)?是的,
$(“#form2”).find(“#grade2”)
return[]您是否在
if
else
语句输入ID中都放置了
forloop.counter
?此外,您的html文件末尾似乎有一个额外的
标记-如果没有开始标记,请删除该标记。