Так что у меня есть какой-то шаблон логик, которая создает HTML-форму для каждого ключа из словаря я передаю его:Джанго множественного HTML формирует селектор JQuery
{%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%}
это создаст п форму с идентификатором первая форма равна 1, вторая - 2,. , ., n-й - n. Теперь, когда я открываю консоль javascript в chrome, и я пытаюсь выполнить, например, $('#1')
, то, что он возвращает, является [<form onsubmit="return false;" id="1"></form>]
. По какой-то причине <input>
не связан с формами. Когда я пытаюсь запустить $('#Grade')
с консоли javascript, он показывает [<input type="text" size="1" id="Grade" name="Grade" maxlength="1" value="A">]
, что и я ожидаю, что будет отображаться для вклада Grade в первой форме. Почему поля ввода не связаны с их соответствующей формой?
Эй, я сделал то, что вы просили, но это не устраняет проблему. Я думаю, что по какой-то причине теги шаблонов возились с jquery –
Вы пытались: '$ ('# 2'). Find ('# Grade')' (используя ваш код) или '$ ('# form2 ') .find (' # grade2 ') '(используя мой код)? – Hybrid
yep, '$ ('# form2'). Find ('# grade2')' return [] –