2013-02-22 3 views
2

Я использовал складной аккордеон для списка, который динамически добавляется. Каждый складной элемент должен иметь элементы формы (текстовый ввод, текстовое поле и кнопку), как показано на изображении ниже.jQuery Mobile - стиль не применяется к элементам динамической формы

enter image description here

Моя проблема, когда складная гармошка динамически добавляются стили не прикреплены к элементам формы, которые динамически прилагаемыми.

Я пробовал $(‘#PageID’).page(), но не повезло.

Мой код

var projectListStr = "<div data-role='collapsible-set' data-theme='c' data-content-theme='d' id='collabsibleProjectList' data-inset='false'>"; 
$.each(projectList,function(index, value){ 
     LineOneprojectListStr = "<br/><p class='listP2'><strong>Aktivitet </strong>: "+CheckNullToEmptyString(this.ActivityName)+"</p>"; 
     LineOneprojectListStr += "<br/><p class='listP3'><strong>Händelse/Verksamhet</strong>: "+CheckNullToEmptyString(this.EventName)+"</p>"; 
     projectListStr += "<div data-role='collapsible' class='myset'>"; 
     projectListStr += "<h3>"+this.ProjectName+"<span class='ui-li-count'>"+checkNullToZero(this.Days[i].EventTimant2)+"</span>"+LineOneprojectListStr+"</h3>"; 
     FormStr = "<table align='center'>"; 
     FormStr += "<tr><th>Hours</th><th>Minutes</th></tr>"; 
     FormStr += "<tr><td><input type='number' name='hoursMon' id='hoursMon' value='' /> </td><td><input type='number' name='minsMon' id='minsMon' value='' /></td></tr>"; 
     FormStr += "</table>"; 
     FormStr += "<div data-role='fieldcontain' >"; 
     FormStr += "<label for='externalNotesMon'>Fakturatext</label>"; 
     FormStr += "<textarea name='textarea' id='externalNotesMon' style='min-height:120px'></textarea>"; 
     FormStr += "</div>"; 
     FormStr += "<div data-role='fieldcontain'>"; 
     FormStr += "<label for='internalNotesMon'>Intern Text</label>"; 
     FormStr += "<textarea name='textarea' id='internalNotesMon' style='min-height:120px'></textarea>"; 
     FormStr += "</div>"; 
     projectListStr +=FormStr; 
    projectListStr += "</div>"; 
}); 
projectListStr += "</div>"; 
//projectListStr +="</ul>"; 
$('#ProjectList').html(projectListStr); 
$('#home2').page(); 

ответ

5

$('#home2').trigger('create'); сделал магию.

+1

Взгляните на мой другой ответ/статью, чтобы вы могли понять, почему: http://stackoverflow.com/a/14550417/1848600, страница() не работает с версии 1.1 – Gajotres

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