JS动态修改界面元素后,其增加元素的class无效

来源:互联网 发布:ubuntu uefi 安装 编辑:程序博客网 时间:2024/06/08 00:43

首先说明下背景:

JS动态添加删除table的行,其中行中单元格中元素的easyui的class属性没有生效。

//动态添加表中的每一行,数组形式表示,
    var autoTableRowData=new Array(
    '<input type="hidden"  name="productID" /><input type="text" placeholder="请选择" onClick="selectSku(this);"  name="skuNo" />',
    '<input type="text"  name="vendorModel"  />',
    '<input type="text" name="productName"  />',
    '<input type="text" name="prodQty"  />',
    '<input type="text"  name="price"  />',
    '<input type="text"  name="unit" />',
    '<input type="text" name="amount"  />',
    '<input type="text" name="deliverDt" class="easyui-datebox" value="xxx"/>',
    '<a href="#" onClick="delTableRow(this);return false;">删除</a>'
    );


如上,实际中可以看到name="deliverDt"元素没有像期望的那样变成日期控件。


首页改用普通class(字体大号),如下图:


注明:前面两行是页面加载时形成,最后一行是动态添加。这个是普通的class(字体)的效果;

为什么普通的class是可行的呢?!


究其原因肯定是没有经过JQuery框架的渲染导致,查找JQuery资料很快知道,需要主动让JQuery框架将页面重新解析一次

即加入$.parser.parse();


添加后效果如下:

这里可以直接只解析此日期元素$.parser.parse(deliverDtObj)

其中deliverDtObj为日期元素对象



OK!



0 0