2012-02-08 71 views
1

當此代碼運行時,您可以看到它不會將程序添加的輸入字段渲染爲移動樣式的元素。我可以強制它通過添加頁面呈現(註釋掉)時放入的所有類。有更容易的方法嗎?在jquery-mobile中,如何編程添加具有所有CSS的頁面元素?

http://jsfiddle.net/mckennatim/KKTr4/

<!DOCTYPE html> 
<html> 
<head> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="http://code.jquery.com/mobile/latest/jquery.mobile.css" /> 
     <script src="http://code.jquery.com/jquery.js"></script> 
     <script src="http://code.jquery.com/mobile/latest/jquery.mobile.js"></script> 
</head> 
<body> 
    <div id="thelists" data-role="page"> 

     <div data-role="header"> 
      <h1>My Title</h1> 
     </div><!-- /header -->  
     <div data-role="content"> 
      <h3>Add List</h3> 
      <form> 
       <div data-role="controlgroup" id="addwhat"> 
        <input type="text" name="inp0" class="inp" /> 
       </div> 
       <div data-role="controlgroup" data-type="horizontal" class="aisubmit"> 
        <input type="submit" data-theme="b" id="addinput" value="Add Input"/> 
       </div>       
      </form> 
     </div><!-- /content --> 
    </div><!-- /page --> 
    <script> 
    var ct =0; 
    $('body').on('click', "#addinput", function (e) { 
     ct++; 
     e.stopImmediatePropagation(); 
     e.preventDefault(); 
     //to add form elemnt you have to add all the class css stuff 
     //$('#addwhat').append('<input type="text" name="list' + ct + '" class="inp ui-input-text ui-body-c ui-corner-all ui-shadow-inset" />'); 
     $('#addwhat').append('<input type="text" name="list' + ct + '"/>'); 
    });    
    </script>  
</body> 
</html> 

回答

4
$('#thelists').trigger('create'); 

應該做的伎倆。

相關問題