所以,我是Python和Flask的新手,并构建了一个应用程序,它在表格中显示了一个投资组合列表。现在,我使用js / Jquery使这些行可以点击。然而,我想要的是,单击行(portfolio_id)的第二列的值以某种方式返回到Python。我们的想法是,从列表中选择一个组合后,会出现一个包含该特定组合详细信息的新屏幕,因此Python需要知道要加载哪个组合。我设法在click事件中包含一个href / link,所以出现了新的屏幕,但是我无法弄清楚如何将我的表中的值放入我的Python代码中......在Flask代码下面:
{% block main %}
<h2>Portfolio List</h2>
<ul>
<table style="width:100%">
<tr>
<th>Relationship Nbr </th>
<th>Portfolio Nbr </th>
<th>Strategy </th>
<th>Portfolios </th>
<th>Last Rebalancing </th>
</tr>
{% for portfolio in portfolios %}
<tr class='clickable-row' data-href="{{ url_for('portfolio') }}" method = POST>
<td>{{portfolio.rel_nbr }} </td>
<td>{{portfolio.portfolio_id}}</td>
<td>{{portfolio.strategy_name}} </td>
<td>{{portfolio.security_list}} </td>
<td>{{portfolio.last_rebalance}} </td>
</tr>
{% endfor %}
</table>
</ul>
{% endblock %}
我使用的jquery代码如下:
src="jquery-3.2.1.min-js">
jQuery(document).ready(function($) {
$(".clickable-row").click(function() {
window.location = $(this).data("href");
});
});
有什么想法可以做到这一点? TXS! 巴特
答案 0 :(得分:0)
您的代码对我来说很好。我刚刚更改了jquery脚本的位置。
尝试将jquery脚本放在适当的位置。我认为这是您的代码无法正常工作的唯一原因。
jQuery(document).ready(function($) {
$(".clickable-row").click(function() {
alert($(this).data("href"));
window.location = $(this).data("href");
});
});
{% block main %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<h2>Portfolio List</h2>
<ul>
<table style="width:100%">
<tr>
<th>Relationship Nbr </th>
<th>Portfolio Nbr </th>
<th>Strategy </th>
<th>Portfolios </th>
<th>Last Rebalancing </th>
</tr>
{% for portfolio in portfolios %}
<tr class='clickable-row' data-href="{{ url_for('portfolio') }}" method = POST>
<td>{{portfolio.rel_nbr }} </td>
<td>{{portfolio.portfolio_id}}</td>
<td>{{portfolio.strategy_name}} </td>
<td>{{portfolio.security_list}} </td>
<td>{{portfolio.last_rebalance}} </td>
</tr>
{% endfor %}
</table>
</ul>
{% endblock %}