-1
私は、選択されたオブジェクトのcase_idをFlaskビューに渡すためにクリック可能な反復されたtrs/caseオブジェクトのそれぞれを以下に示すようにしようとしています。 JSがIDの取得に関して働いているようですが、Ajaxでないかどうかはわかりません。Ajaxを使用してテーブルからFlaskビューにデータをどのように投稿しますか?
<table class="table table-striped">
{% for case in cases %}
<tr method="POST" action="/current_case/">
<td>{{ case.case_id }}</td>
<td>{{ case.case_name}}</td>
<td>{{ case.case_desc }}</td>
<td>{{ case.case_date }}</td>
<tr>
{% endfor %}
</table>
フラスコビュー:
@app.route('/current_case/', methods=['GET', 'POST'])
def current_case():
case = Case
if request.method == 'POST':
case_id = request.form['case_id']
current_case = Case.query.filter_by(case_id=case_id).first_or_404()
return render_template('welcome.html',
case=current_case)
else:
pass
はJavaScript:
<script type="text/javascript">
$(document).ready(function() {
$("#table tr").click(function(){
$(this).addClass('selected').siblings().removeClass('selected');
var value=$(this).find('td:first').html();
});
$('#table tr').on("dblclick", function(e){
var case_id = $("#table tr.selected td:first").html();
var data = $(this).find("td:first").text();
alert(case_id);
});
$.ajax({
url: "{{ url_for('current_case') }}",
data: {'case_id' : case_id},
type: 'POST',
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
});
</script>
任意のアイデア、思考は、右方向へのポインタがすべて評価されて:)
多くのおかげ
おかげでテスト
!私は上記の実装されたテクニックを使用して、current_caseメソッドに渡されたcase_idと設定されているcurrent_caseを見ています。しかし、リクエストをシャットダウンしているレンダリングテンプレートに何か問題があるようです: – Sm1ley