1. 程式人生 > >easyui 動態新增input標籤

easyui 動態新增input標籤

 動態新增easyui控制元件<input class=" easyui-textbox" > 這樣是無效的,因為easyui沒有實時監控,所以必須動態渲染$.parser.parse();
  1. $.parser.parse(context)  
  2. //context  為待查詢的 DOM 元素集、文件或 jQuery 物件,為空時預設為整個文件  
  3. //渲染物件為: class="easyui-pluginName"的元素  

注意  如果想通過id 獲取 jQuery物件來獲取的話必須        $.parser.parse($('#judge_logic_').parent());  後面必須有一個   .parent()  否則無效

像下面程式碼去手工解析的話是得不到你想要的結果的:

$.parser.parse($('#tt'));

道理很簡單,parser只渲染tt的子孫元素,並不包括tt自身,而它的子孫元素並不包含任何Easyui支援的控制元件class,所以這個地方就得不到你想要的手風琴效果了,應該這樣寫:

$.parser.parse($('#tt').parent());
渲染tt的父節點的所有子孫元素就可以了,個人覺得通過jQuery的parent()方法是最安全不過的了,不管你的javascript輸出了什麼DOM,直接渲染其父節點就可以保證頁面能被正確解析 保證動態新增的還能用到原生的校驗 <input class="
easyui-validatebox easyui-textbox" name="links_desc" data-options="required:true" id="links_desc"  >'; 這兩個樣式是不能少的 直接渲染的話只要 easyui-textbox這個樣式 附上程式碼 var html ='<tr>'
html +='<td>關鍵字:</td>'
html +='<td>'
html +='<input class="easyui-validatebox easyui-textbox" name="links_desc" data-options="required:true" id="links_desc"  >';
html +='</td>'
html +='</tr>';
if(val==1){
$("#zhuangtai").after(html)
$.parser.parse($("#links_desc").parent());

}