2016-07-20 92 views
0

我目前正在使用仪表板工具。这里我使用Python来浏览数据框,并根据数据创建过滤器。我有以下代码为例输出:收音机/复选框操作表单自动提交(Python Flask)

<form name="FormYear" method="post"> 
    <div class="panel"> 
    <div id="checkboxes"> 
     <div class="filterdiv"> 
     Forecast Year 
     <button class="filterButton clearfilter" type="submit" name="submit" value="clearFilterYear"> 
      <i class="glyphicon glyphicon-remove"></i> 
     </button> 
     <button class="filterButton filter" type="submit" name="submit" value="filter"> 
      <i class="glyphicon glyphicon-filter"></i> 
     </button> 
     </div> 
     <input value = "1" type="hidden" name="FormYear"> 
     <input type="radio" name="Year" id="Year2016" value="2016" checked class="checkbox" > 
     <label class="checkboxLabel" for="Year2016">2016</label> 
     <input type="radio" name="Year" id="Year2017" value="2017" class="checkbox" > 
     <label class="checkboxLabel" for="Year2017">2017</label> 
     <input type="radio" name="Year" id="Year2018" value="2018" class="checkbox" > 
     <label class="checkboxLabel" for="Year2018">2018</label> 
    </div> 
    </div> 
</form> 

上面的代码中包含2提交按钮(一个提交的选择,和一个清除所有选择)和3个单选按钮。为了设置单选按钮的样式,我使用了Labels和css。

仪表板将包含许多这样的表单,我希望能够在用户检查复选框或单选按钮时提交表单。

基本上我需要有网站点击第二个按钮,每当用户更改过滤器。

可以这样做吗?

+1

应该用jQuery稍微简单一点,你可以处理单选按钮上的'change'事件并通过Javascript提交表单。 – donners45

+0

http://stackoverflow.com/questions/13126501/submit-form-on-radio-button-click-submit-form-and-perform-other-actions-on-rad – davidism

+0

嗨,大卫,我以前见过这个问题张贴我自己的,但不能得到它的工作。我确实使用一些监听器解决了这个问题,并且记住为表单中的每个控件生成唯一的ID。 –

回答

0

您可以使用Flask-Sijax,它可以帮助您为Flask应用程序添加Sijax支持。 Sijax是一个易于使用的AJAX库。

@flask_sijax.route(app, '/hello') 
def hello(): 
    def say_hi(obj_response): 
     obj_response.alert('Hi there!') 
    if g.sijax.is_sijax_request: 
     # Sijax request detected - let Sijax handle it 
     g.sijax.register_callback('say_hi', say_hi) 
     return g.sijax.process_request() 
     return _render_template('sijaxexample.html')