jquery提供了append,appendTo方法,可以動態新增靜態的html文字,在easyui中,要動態新增easyui控制元件要怎麼做呢,下面就來介紹動態新增easyui控制元件。
使用方法:和新增靜態html一樣,只是在新增完後,需要用呼叫$.parser.parse()渲染頁面。
1 function createPanel(container) { 2 var icon = 'layout-button-down'; 3 4 var p = $('<div></div>').appendTo($(container)).panel({ 5 cls: 'easyui-panel', 6 title: 'lname', 7 closed: false, 8 width: $(container).width(), 9 iconCls: 'icon-save', 10 doSize: false, 11 tools: [{ 12 iconCls: icon, 13 handler: function () { 14 $(p).toggle("slow"); 15 } 16 }] 17 }).css('display','block'); 18 return p; 19 // $(container).append('<div class=\"easyui-panel\" title=\"My Panel\" style=\"width:500px;height:150px;padding:10px;\" data-options=\"iconCls:\'icon-save\',closable:true, collapsible:true,minimizable:true,maximizable:true\"></div>'); 20 } 21 function createContentPanel(container, para) { 22 var parent=$('<div class=\"easyui-panel\" ></div>'); 23 $.each(para,function(i,n) 24 { 25 $(parent).append('<div><label for=\"'+n.name+'\">名稱:</label> <input class=\"easyui-validatebox\" type=\"'+n.type+'\" name=\"'+n.name+'\" data-options=\"required:true\" /> </div> <div>'); 26 }); 27 $(container).append(parent); 28 29 } 30 31 $.fn.cform = function (para) { 32 try { 33 var forms = $('<form action=\'\'></form>'); 34 for (var j = 0; j < 3; j++) { 35 var panels = []; 36 for (var i = 0; i < 3; i++) { 37 var obj = 38 { 39 'name': para.name, 40 'type': para.type 41 }; 42 panels.push(obj); 43 } 44 createPanel($(forms)); 45 createContentPanel(forms, panels); 46 } 47 48 $(this).append($(forms)); 49 50 $.parser.parse(); 51 } catch (e) { 52 alert(e); 53 }