2012-03-01 93 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属性根据被点击的按钮来调用设置模式数据的自定义函数,然后打开模态。我走这条路,这是我作为替代方案(不一定是更好的)解决方案提供它的唯一原因。