2013-06-18 2 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' 

    } 
] 

Задача: Выбрать окно показывает пустой.

Цель: всякий раз, когда открывается popover, пользователь может выбрать статью из окна выбора.

+0

Работает ли ваш код для заполнения поля выбора, если он находится за пределами popover? Когда вы вызываете код заполнения? Мы можем помочь лучше, если вы предоставите более полный код, чем фрагменты без контекста. –

+0

можно создать скрипку для демонстрации, чтобы проблема была более понятной? – SaurabhLP

+0

Что хранится в переменной 'articles'? – paulitto

ответ

0

Вы добавления названия статьи, чтобы выбрать поле, в то время как вы должны добавить варианты там как HTML

Так оно и должно быть что-то вроде этого:

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

Update:

Другая проблема может быть, что вы пытаетесь добавить опции для выбора окна, пока он еще не существует на странице. Таким образом, если вы добавление шаблона в виде строки (через свойство «содержание»), вы можете сначала составить TEM пластины с необходимыми выбрать опции:

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

или вы можете также использовать свойство «контейнера» и передать

+0

oh .. спасибо .. но он все еще не добавляет, я думаю, проблема в том, что он не может добавлять данные в уже обработанный шаблон. –

+0

, если вы используете '$ (" # article "), этот элемент должен быть уже представлен на странице, а popover добавляет его содержимое из нового, открывая его, пожалуйста, посмотрите мое обновление в ответе – paulitto

+0

да .. его работа отличная ... спасибо @paulitto –

Смежные вопросы