我建立一個基於Web的儀表板,我想用單選按鈕從Twitter Bootstrap來幫助創建的查詢,然後對MongoDB運行(通過Flask)單選按鈕,然後刷新與新填充的數據一樣的頁面。我在構建基於Web的儀表板方面很新,所以請讓我知道是否有更好的方法來做到這一點。使用Twitter的引導與瓶
{% 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 %}
這產生無線電按鈕和使用JavaScript代碼來檢測哪個按鈕被點擊,然後發送該數據返回通過request.Form
對象進行處理。
如何在屏幕更新後在每個按鈕欄上設置活動框?我是否必須寫一些{{if request.option1 == ?}}
塊,然後爲每個按鈕定義class="btn active"
,或者是否有更聰明(或明顯)的方法來執行此操作?另外,如何設置默認值/初始化條件?我應該預先填充請求對象中的相應字段嗎?
此外,是否有可能將選定的框傳遞給Flask而不使用上面的JavaScript代碼?