【发布时间】:2019-12-14 11:07:56
【问题描述】:
我在这里发布了一个类似的问题:Flask - Data inputting on the client side
但是,我想出了另一种解决该问题的方法,现在在下面遇到了一个新方法。
简而言之,我正在为我们的客户构建一个门户,他们可以在其中登录并上传他们的财务文件。 Flask 中有一个预定义的模式,用于映射上传文档中的财务项目。例如,所有与“现金”相关的帐户都将简单地映射到“现金”。
下面的 html 代码基本上呈现了一个类似于上传文件的表格,并带有一个附加列“映射”,用于映射帐户的每一行。如果财务文档中添加了新帐户,则会有一个下拉部分供客户选择映射模式。此处为您的视觉效果提供了屏幕截图。
https://drive.google.com/file/d/1RuYq3rdaG5XSxLTPYO46PlqBujuy_I8A/view?usp=sharing
我的问题是如何为“确认映射”按钮设置事件,以将所有选定的下拉输入以 JSON 对象的形式(最好)发送回烧瓶服务器。在这种情况下,我希望 JSON 是:
{
"Cash" : "Lucky money",
"Debt" : "Bad debt"
}
我在下面包含了一些 html 代码。我知道这不是很可复制,但我的公司代码库太大而无法分享。我只是对完成任务的一般方法感兴趣。
<!-- results.html -->
<body>
<div>
<table id="Mapped table">
<h2 align='center'>Mapped data</h2>
<tr>
{% for col in column_names %}
<th>{{col}}</th>
{% endfor %}
</tr>
{% for row in row_new %}
<tr>
{% for col, row_ in zip(column_names, row) %}
{% if col == link_column %}
<td>
<select id="dropbtn">
<option value="1">Cash</option>
<option value="2">Debt</option>
<option value="3">Retained Earnings</option>
</select>
<div id="selection"></div>
<script>
var e = document.getElementById("dropbtn");
var strUser = e.options[e.selectedIndex].text;
</script>
</td>
{% else %}
<td>{{row_}}</td>
{% endif %}
{% endfor %}
</tr>
{% endfor %}
</table>
</div>
<div class="wrapper">
<button class="button" id="myBtn">Confirm mapping</button>
</body>
【问题讨论】:
标签: javascript python jquery flask jinja2