2017-07-19 54 views
0

我有顯示MySQL表一個html文件index.html的:試圖每個元件從添加用於循環到一個數組在javascript

<body> 

    <div class="container"> 
    <table align="center"> 
     <tr> 
      <th bgcolor="#f0a00c">Col1</th> 
      <th bgcolor="#f0a00c">Col2</th> 
      <th bgcolor="#f0a00c">Col3</th> 
      <th bgcolor="#f0a00c">Col4</th> 
      <th bgcolor="#f0a00c">Col5</th> 
     </tr> 
     {% for b in obj %} 
     <tr> 
      <td>{{ b.col1 }}</td> 
      <td>{{ b.col2 }}</td> 
      <td>{{ b.col3 }}</td> 
      <td>{{ b.col4 }}</td> 
      <td>{{ b.col5 }}</td> 
     </tr> 
    {% endfor %} 

    </table> 
    </div> <!-- /container --> 
    </body> 

我希望把每個值從b.col2 & b.col3成單獨的名單。所以,我試圖添加它如下:

{% for b in obj 
var c1 = []; 
c1.push(b.col1); 
var c2 = []; 
c2.push(b.col2); 
%} 

但它不工作。什麼是正確的方法?

UPDATE:

這是我的views.py:

def display(request): 
    find_duplicate() 
    return render_to_response('index.html', {'obj': my_model.objects.order_by('id')}) 

def get_dict(): 
    d={} 
    for e in my_model.objects.all(): 
     col2 = e.col2 
     col3 = e.col3 
     col2 = unicode(col2).encode('UTF8') 
     col3 = unicode(col3).encode('UTF8') 
     d.setdefault(col2, []) 
     d[col2].append(col3) 
    del d[''] 
    return d 

def find_duplicate(): 
    #print(d) 
    d = get_dict() 
    for k,v in d.items(): 
     if len(v) > 1: 
      name=[] 
      id=[] 
      #print(k) 
      for i in v: 
       #print(i) 
       reg1 = i.split("(")[0] 
       name.append(reg1) 
       reg2 = re.search(r'[A-Z0-9]*', i.split("_")[1]) 
       id.append(reg2.group()) 
      #print(name) 
      #print(id) 

所以表看起來像這樣:

Number | NameAndId 
1  | Name1(something_1234) 
1  | Name2(something_3456) 
2  | Name3(something_7890) 
2  | Name4(something_0988) 

所以詞典d的輸出是:

{'1': ['Name1(something_1234)', 'Name2(something_3456)'], '2': 'Name3(something_7890)', 'Name4(something_0988)']} 

然後它在解析的find_duplicate功能COL2:

所以print(name)該功能將使名稱和ID爲每個鍵(num)['Name1', 'Name2'] & ['1234', '3456']關鍵1。所以,我有點想對每個鍵的名稱和ID部分應用一些CSS樣式。那麼,如何將結果從find_duplicate()函數傳遞給html?

+0

包含值兩個JavaScript名單,我相信它的JavaScript。我得到了這種方式顯示教程 – akrama81

+0

不是本機JavaScript的表格。你能鏈接到教程嗎?編輯 - 它看起來可能是django? https://docs.djangoproject.com/en/1.9/ref/templates/language/ – sauntimo

+1

我認爲這是Django。 –

回答

0

它看起來像你想創建一個包含這些元素的JavaScript列表,你可以使用這個片段來創建一個包含從b.col2b.col3

<body> 

    <div class="container"> 
     <table align="center"> 
      <tr> 
       <th bgcolor="#f0a00c">Col1</th> 
       <th bgcolor="#f0a00c">Col2</th> 
       <th bgcolor="#f0a00c">Col3</th> 
       <th bgcolor="#f0a00c">Col4</th> 
       <th bgcolor="#f0a00c">Col5</th> 
      </tr> 
      {% for b in obj %} 
      <tr> 
       <td>{{ b.col1 }}</td> 
       <td>{{ b.col2 }}</td> 
       <td>{{ b.col3 }}</td> 
       <td>{{ b.col4 }}</td> 
       <td>{{ b.col5 }}</td> 
      </tr> 
      {% endfor %} 

      </table> 
    </div> <!-- /container --> 

    <script> 
     var c2 = [], c3 = []; 
     {% for b in obj %} 
     c2.push("{{ b.col2 }}"); 
     c3.push("{{ b.col3 }}"); 
     {% endfor %} 
     console.log([c2, c3]); 
     // ... Do what you need to do in javascript with these lists. 
    </script> 
</body> 
+0

甜!有效。非常感謝。 – akrama81

相關問題