У меня есть некоторый код jquery, который отлично работает при использовании в строке. Как я должен был иметь мой файл jquery в каталоге, показанном ниже.
static/js/jqueryfunctions.js
Я знаю, что вам нужно вызвать функцию url_for в разметке, чтобы разрешить правильный URL. ссылаясь на этот предыдущий вопрос здесь , но я не могу заставить его работать с моим кодом.
Мой файл jqueryfunctions.js состоит из:
$(function() {
$('p select[name=school]').change(function(e){
if ($('p select[name=school]').val() == 'not-listed'){
$('#new-school').show();
}else{
$('#new-school').hide();
}
});
});
Все, что он делает, - если вы щелкаете конкретную опцию в раскрывающемся списке, она заставляет поле ввода появиться в файле, который я назвал register.html, этот файл расширяет другой файл с именем index.html
Для простоты этого вопроса мой index.html:
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
{{%block body%}{%endblock %}
<script src="{{ url_for('static', filename='js/jquery.js') }}"></script>
<script src="{{ url_for('static', filename='js/jqueryfunctions.js') }}"></script>
</body>
</html>
У меня сложилось впечатление, что я должен поместить функцию url_for внизу тега body моего файла index.html. Я также попытался поместить его в тег head, но это тоже не работает. Для простоты этого вопроса мой register.html -
{% extends "index.html" %}
{% block body %}
<select name="school" class="form-control" required>
<option value="" disabled selected>Select your school</option>
{% for schools in schoolarray %}
<option value ="{{schools['school_name']}}">{{schools['school_name']}}</option>
{% endfor %}
<option value="not-listed">My school is not listed</option>
</select>
</div>
<div id="new-school" style="display:none; margin-bottom:25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-new-window"></i></span>
<input type="text" class="form-control" name="school-name" placeholder="Please enter in the name of your school" required>
</div>
</p>
Я не понимаю, что я делаю неправильно, чтобы это не работало очень просто. Я чувствую, что это очень маленькая вещь, которую мне нужно изменить, чтобы она работала.