У меня есть четыре выпадающих меню. Я хотел бы установить в каждом меню значение, выбранное для каждого. Тем не менее, мой код устанавливает ВСЕ из раскрывающихся меню в зависимости от того, какое значение выбрано для любого раскрывающегося списка, поэтому все они идентичны. Я хочу, чтобы у каждого меню был свой уникальный выбор. Как я могу это сделать?
В конечном счете, я хотел бы установить значения раскрывающихся списков в качестве переменных, чтобы я мог передать их обратно в свой скрипт Flask / Python и выполнить некоторые вычисления / анализ. Как я смогу сделать это?
Также я замечаю, что моя строка: var x = {{item [1]}}
распечатывает на веб-страницу, как я могу это сделать?
Для справки, пользователь загружает CSV с определенными именами столбцов. Эти значения представляют собой список, установленный для переменной 'cols'. 'col_list' - это четыре идентификатора столбца, для которых я хочу, чтобы пользователь выбрал значения столбца.
Например, col_list может выглядеть следующим образом [(возраст, #age), (рост, #height), (вес, #weight), (пол, #gender)], а в csv есть столбцы ['ft' , «мужчина / женщина», «фунты», «годы»]. Это будет то, что будут отображаться в выпадающих меню.
Затем пользователь выбирает, какие столбцы соответствуют элементу в col_list. например для выпадающего меню, которое говорит «возраст», пользователь выберет «годы» из списка. Как я уже упоминал, я хотел бы установить это значение в качестве переменной для использования в скрипте обработки внутренних данных.
Col_list - это список кортежей, потому что я заметил, что jquery нуждается в переменной id, чтобы иметь хеш перед ней, поэтому второе значение кортежа - это уникальный идентификатор с # перед ним. Я попытался объединить хэштегом «item», используя jinja, чтобы создать уникальный тег id в цикле, но это не сработало. Если вы знаете, как это сделать, это будет полезно.
<!DOCTYPE html>
<title>Upload new File</title>
<h3>Upload new File</h3>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
</head>
<body>
<form method=post enctype=multipart/form-data>
<input type=file name=file>
<input type=submit value=Upload>
{% for item in col_list%}
var x = {{ item[1] }}
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id=x data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ item[0] }}
</button>
<div class="dropdown-menu" aria-labelledby=x>
{% for col in cols%}
<button class="dropdown-item" type="button">
{{ col }}
</button>
{% endfor %}
</div>
</div>
{% endfor %}
</form>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
</body>
</html>
<script type="text/javascript">
$(function(){
$(".dropdown-item").click(function(){
$(x).text($(this).text());
//$(".btn:first-child").val($(this).text());
});
});
</script>