Tôi đang xây dựng một bảng điều khiển dựa trên web, và tôi muốn sử dụng đài phát thanh-nút từ Twitter Bootstrap để giúp tạo ra các truy vấn mà sau đó được chạy chống lại MongoDB (thông qua Flask), sau đó làm mới cùng một trang với dữ liệu mới được điền. Tôi mới xây dựng trang tổng quan dựa trên web, vì vậy hãy cho tôi biết nếu có cách nào tốt hơn để thực hiện việc này.Sử dụng Twitter Bootstrap nút radio với Flask
{% extends "base.html" %}
{% block content %}
<div class="row">
<div class="span4 offset4">
<div class="well">
<legend>Click me!</legend>
<form method="POST" action="" accept-charset="UTF-8">
{% if error %}
<div class="alert alert-error">
<a class="close" data-dismiss="alert" href="#">x</a>{{ error }}
</div>
{% endif %}
<div id="radios1" class="btn-group view-opt-btn-group" data-toggle="buttons-radio">
<button type="button" class="btn active" name="choice1" value="A">A</button>
<button type="button" class="btn" name="choice1" value="B">B</button>
<button type="button" class="btn" name="choice1" value="C">C</button>
<button type="button" class="btn" name="choice1" value="D">D</button>
<button type="button" class="btn" name="choice1" value="E">E</button>
<input type="hidden" name="choice1" value={{request.form['choice1']}} />
</div>
<script type="text/jscript">
$("body").find("#radios1").children().each(function() {
$(this).bind('click', function() {
$("input[name=choice1]").val(this.value);
});
});
</script>
<button class="btn-info btn" input type="submit">Submit</button>
</form>
</div>
</div>
</div>
{% endblock %}
Điều này tạo nút radio và sử dụng mã JavaScript để phát hiện nút nào được nhấp, sau đó gửi dữ liệu đó trở lại đối tượng request.Form
để xử lý.
Làm cách nào để đặt hộp hoạt động trên mỗi thanh nút sau khi màn hình được cập nhật? Tôi có phải viết một số loại khối {{if request.option1 == ?}}
để sau đó xác định các class="btn active"
cho mỗi nút, hoặc là có một cách thông minh hơn (hoặc rõ ràng) để làm điều này? Ngoài ra, làm cách nào để đặt các điều kiện mặc định/khởi tạo? Tôi có nên điền trước các trường tương ứng trong đối tượng yêu cầu không?
Ngoài ra, có thể chuyển các hộp đã chọn tới Flask mà không cần sử dụng mã JavaScript từ trên không?