2013-03-15 53 views
0

如何獲取模型名稱以顯示模態。換句話說,我如何正確地將變量從javascript傳遞給我的模態?從模態訪問變量(noob)

我有以下的javascript:

<script type="text/javascript"> 
$(document).on("click", ".cadlib", function() { 
    var modelname = $('#modelname').text(); 
    $('#myModal').modal('show'); 
}); 

與模態對話框:

<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
<div class="modal-header"> 
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
<h3 id="myModalLabel">My Modal</h3> 
</div> 
<div class="modal-body"> 
Here's all the info you would want to know about {{modelname}} 
</div> 
</div> 

回答

2

使用您可以定位的佔位符元素 - 用<span id="modelnameplaceholder"></span>之類的東西替換{{modelname}}。然後,你可以這樣做:

$('#modelnameplaceholder').replaceWith(modelname); 

參考http://api.jquery.com/replaceWith/

例的jsfiddlehttp://jsfiddle.net/G82mk/

+0

你搖滾! :-)通常來說,將變量從javascript傳遞迴模板的最佳實踐是? – user1328021 2013-03-15 13:04:27

+0

@ user1328021這可能是最簡單的學習。有些JavaScript模板引擎更像你想要做的事情,但我沒有機會坐下來學習,所以我不能給你任何例子。 – 2013-03-15 19:23:56

0

這一行後:

var modelname = $('#modelname').text(); 

補充一點:

$('#myModal .modal-body').html($('#myModal .modal-body').html().replace('{{modelname}}', modelname)); 
+0

這似乎並沒有工作... – user1328021 2013-03-15 03:54:27

+0

我認爲這是因爲在您提供的HTML沒有ID爲'#modelname'的元素,因此var modelname是空字符串。 – 2013-03-15 14:59:02