JQuery в отдельном файле JS не работает во Flask - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть некоторый код 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>

Я не понимаю, что я делаю неправильно, чтобы это не работало очень просто. Я чувствую, что это очень маленькая вещь, которую мне нужно изменить, чтобы она работала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...