2013-11-01 44 views
0

我在使用jQuery的引導標籤中動態地創建標籤。這是與事件jQuery裏面的JSTL

到了這裏更清晰的外觀引發的是我在做什麼:

$('.tab-content').append('<div class="tab-pane" id="tab_' + id + '"> </div>'); 

現在<div>內,我會寫一長HTML,所以我認爲這可能是凌亂如果我在jQuery中編寫所有代碼。所以,我決定做一個外部文件,並使用JSTL導入並寫jQuery代碼內導入:

$('.tab-content').append('<div class="tab-pane" id="tab_' + id + '"> <c:import url="flt-pis.html"></c:import> </div>'); 

JSTL的<c:import url="flt-pis.html"></c:import>似乎不工作,我不知道爲什麼。有沒有其他方法?

+0

您需要爲了運行你的servlet容器/應用服務器上的應用JSTL的工作 - 是你這樣做?您可以使用jquery加載函數,因爲該頁面似乎位於同一個域中。 http://api.jquery.com/load/ – Zyga

+0

@Zyga感謝您的回覆。我在jQuery中相當新手,所以,你能給我一個清晰的看法,說明你想說什麼嗎? – newbie

回答

0

jstl運行服務器端。 javascript客戶端。這不起作用。

您可以在jsp頁面中引用嵌入式JavaScript中的jstl - 將文本輸出到服務器端的js。

+0

有沒有解決這個問題?我只想將其餘的代碼放在'.js'文件之外。 – newbie

0

就像之前提到的那樣,你不能在客戶端運行JSTL。

鑑於頁面在同一個域上(並且它的聲音),您可以使用jQuery的「加載」功能將HTML從外部文件放入新創建的div中。

例如,在你執行這個

$('.tab-content').append('<div class="tab-pane" id="tab_' + id + '"> </div>'); 

然後你可以這樣做:

$("#tab_"+id).load("flt-pis.html"); 
+0

它不起作用。在添加「tab-pane」後,我在下一個版本中添加了它。它不加載頁面。 – newbie