2014-03-25 36 views
1

我希望我在問正確的問題。基本上,我有蟒蛇/龍捲風應用程序,我有一個問題在我的HTML頁面中填充兩個組合框。我正在嘗試填充第二個組合框,具體取決於第一個組合框中的選定值。在我的python設置文件I具有JSON數據與以下結構:如何使用jQuery選擇器(龍捲風)模板標籤?

data = {'A':{ 
      '1': {}, 
      '2': {}, 
      '3': {} 
      }, 
     'B': { 
      '3': {}, 
      '4': {} 
      } 
     } 

第一組合框包含值A和B,並且如果選擇A,那麼第二個組合框應包含1,2和3 ...我嘗試加載這樣的:

{% block filter1 %} 
<select id="filter1"> 
{% for key in settings.data %} 
    <option value="{{ key }}">{{key}}</option> 
{% end %} 
</select> 
{% end %} 

{% block filter2 %} 
<select id="filter2"> 
{% for key in settings.data[$("#filter1").val()] %} 
    <option value="{{ key }}">{{key}}</option> 
{% end %} 
</select> 
{% end %} 

的問題顯然是settings.data,這既是服務器端和客戶方的代碼,我不能用它像[$(「#過濾器1」)VAL()。] 。是否有一種「簡單」的方式來獲得這種行爲?我可能錯過了一些明顯的東西,或者我應該使用一些不同的方法?

回答

0

你是正確的,這是問題

{%,爲settings.data鍵[$( 「#過濾器1」)。VAL()]%}

沒有儘管如此,儘管有這項工作。由於這將取決於客戶端交互,處理該交互的代碼必須是客戶端。

這是什麼意思是,你將需要做到這一點與JavaScript,而不是簡單的服務器端代碼(除非有幫助生成這種類型的JavaScript)。本質上,它將沿着腳本標記或引用,onchange事件以及某些人口邏輯,這些人口邏輯藉助頁面上的元素或者某種類型的json存儲。