解决jquery或js动态添加easyUI元素时样式失效问题

今天做项目时,遇到一个难题。循环添加easyUI的select下拉框时,样式不对。于是,我想了一些方法,比如直接写出来,但是全部隐藏,点击添加的时候,再一行一行显示出来(有点儿傻),可是下拉框是保证了样式,但是别的样式错误了。于是,我复制HTML最终生成的元素,进行添加看看,又发现下拉按钮不起作用了。
最后,我看了一下官方文档,发现 $.parser.parse(); 这个方法是可以对整个页面重新渲染的,渲染完之后就可以看到easyui原本的样式了。
HTML:

 <tr id="trAllowance1">
             <td><select class="easyui-combobox" name="language" style="width:152px;" id="txtAllowance1"></select>
             </td>
             <td><input type="text" id="txtThirdAmount1" class="inputText" /></td>
             <td><input type="text" id="txtThirdSoNo1" class="inputText" /></td>
             <td><input type="text" id="txtThirdProject1" class="inputText" /></td>
             <td><input type="text" id="txtThirdDescription1" class="inputText" /></td></tr>

js:

 var trId = $("#tabAllowance").find("tr").last().attr("id");
        trId = trId.substring(trId.length - 1, trId.length);
        trId = parseInt(trId) + 1;
        var trHTML = "<tr  id='trAllowance" + trId + "'><td><select class=\"easyui-combobox\"  name=\"language\" style=\"width:152px;\" id=\"txtAllowance" + trId + "\"></select></td>";
        trHTML = trHTML + "<td><input type='text' id='txtThirdAmount" + trId + "' class='inputText' /></td><td><input type='text' id='txtThirdSoNo" + trId + "' class='inputText' /></td><td><input type='text' id='txtThirdProject" + trId + "' class='inputText' /></td><td><input type='text' id='txtThirdDescription" + trId + "' class='inputText' /></td></tr>";
        $("#tabAllowance").append(trHTML);
        $.parser.parse("#tabAllowance");

$.parser.parse(“#tabAllowance”);是指针对某一元素进行重新渲染

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值