2012-03-01 87 views
0

我的情況是AppEngine上/蟒蛇/神社/ Twitter的引導和在此代碼...如何在twitter-bootstrap和jinja2中與模態共享變量?

{% for VMS in VEP.vms_set %} 
<tr> 
    <td>{{VMS.des}}</td> 
    ... 
    <td>{% include 'butt_vms.html' %}</td> 
</tr> 
{% endfor %} 

butt_vms.html

<div class="modal" id="delvms"> 
    <div class="modal-header"> 
     <h3>Warning!</h3> 
    </div> 
    <div class="modal-body">  
     <p>Are you sure?</p> 
    </div> 
    <div class="modal-footer"> 
     <a class="btn btn-danger" href="delete?item={{ VMS.key() }}">delete</a> 
     <a class="btn" href="#" data-dismiss="modal">No</a> 
    </div> 
</div> 

<div class="btn-group"> 
    <a class="btn" href="delete?item={{ VMS.key() }}"><i class="icon-trash"></i></a> 
    <a class="btn" data-toggle="modal" href="#delvms"><i class="icon-trash"></i></a> 
</div>​ 

...我不知道爲什麼這個按鈕的作用不同的是:第一次刪除相關行(沒關係),而第二次刪除並且只刪除表中的第一行。 建議?

回答

2

好吧,它看起來像添加到頁面的每個模式將具有相同的id="delvms"。基於此,我還猜測顯示/隱藏模態的按鈕沒有鍵入特定的模態,因爲他們需要通過其id屬性將模式引用到按鈕上的data-targethref屬性。

Bootstrap Modal部分here表示您可以使用href或data-target屬性來切換模式,例如:data-target="#myModalId"href="#myModalId"

因此,您需要在運行時構建按鈕href/data-target和模式id屬性,以確保每個按鈕鏈接到正確的模式。

P.S.要添加情態動詞頁面X數量的替代將是添加只有一個模式,並建立在運行時按鈕的onclick屬性根據被點擊的按鈕來調用設置模式數據的自定義函數,然後打開模態。我走這條路,這是我作爲替代方案(不一定是更好的)解決方案提供它的唯一原因。