2013-06-18 52 views
0

實際上,我在使用渲染的模板添加動態內容時面臨問題。在渲染的引導彈出式模板中添加動態內容

酥料餅的召喚:

$(selectorId).popover({ 
     placement: 'bottom', 
     title: 'New Post', 
     html: 'true', 
     content: _template, 
     container: 'body', 
}); 

渲染HTML模板

<div> 
    <label>Name</label><input type="text" name="name" id="name" /> 
    <label>Message</label><input type="text" name="message" id="messgae" /> 
    <label>Select Article</label><select name="article" id="article"></select> 
    <input type="button" value="submit"> 
</div> 

只需要專注於 「文章」。選擇框是空的模板和渲染後我試圖追加文章數據,但它不工作。

從分貝追加數據來選擇框

$.each(articles,function(){ 
    $("#article").append(this.articleName); 
});  

製品是JSON陣列

[ 
    { 
     'id': 1, 
     'articleName': 'article1' 

    }, 
    { 
     'id': 2, 
     'articleName': 'article2' 

    }, 
    { 
     'id': , 
     'articleName': 'article3' 

    } 
] 

問題:選擇框被顯示爲空。

目標:每當彈出窗口打開時,用戶可以從選擇框中選擇文章。

+0

您的代碼是否適用於填充選擇框,如果它在彈出窗口之外?你什麼時候調用填充代碼?如果您提供比沒有上下文的片段更完整的代碼,我們可以提供更好的幫助。 –

+0

你可以創建一個小提琴演示,這樣的問題可以更容易理解? – SaurabhLP

+0

'articles'變量中存儲了什麼? – paulitto

回答

0

要附加物品名稱來選擇框,而你應該有附加選項,HTML

因此,它應該是這樣的:

$.each(articles,function(){ 
    $("#article").append("<option value='"+this.articleName+"'>"+this.articleName+"</option>"); 
}); 

更新:

另一個問題可能是因爲您試圖在選項框中附加選項,而該頁面上尚不存在選項。 所以,如果要附加模板作爲一個字符串(通過「內容」屬性),就可以開始撰寫TEM板需要選擇相應的選項:

var _template = "<select>"; 
$.each(articles,function(){ 
    _template +="<option value='"+this.articleName+"'>"+this.articleName+"</option>"; 
}; 
_template+= "</select>"; 

,或者您也可以使用「容器」屬性,並通過

+0

哦..謝謝..但它仍然沒有追加,我認爲問題是它無法在已經呈現的模板中追加數據。 –

+0

如果你正在使用'$(「#article」)',這個元素應該已經存在於頁面上,而popover在添加新的內容時,打開它時,請看看我的更新 – paulitto

+0

是的。它的工作很棒......謝謝@paulitto –