ExtJS TextField动态更改fieldLabel的方法

      在我遇到要动态更改TextField的fieldLabel方法时,因为ExtJs本身没有提供这个方法,在网上找了很多资料也没能正在解决这个问题,于是我自己研究了很久,终于想到一个方法。那就是用Firebug来查看ExtJs的TextField在运行时被解析成什么样的HTML标签,然后用Dom操作来修改它的标题。


var textField = new Ext.form.TextField({
        fieldLabel: "输入框标题",
        id: "textfieldId"
    });


上面的一个TextField在运行时被解析成的HTML为:


<div tabindex="-1" class="x-form-item " id="ext-gen117">

<label class="x-form-item-label" for="textfieldId" id="ext-gen118">输入框标题:</label>

<div style="padding-left: 105px;" id="x-form-el-netprice1" class="x-form-element">

<input type="text" name="textfieldId" id="textfieldId" autocomplete="off" class=" x-form-text x-form-field x-form-num-field"  title="">

</div>

<div class="x-form-clear-left"></div>

</div>


从上面的HTML可以看出,输入框(text)和它的标题(label)的Dom关系是:label是text的叔叔 ,所以,我们可以使用如下代码来更改它的标题:

document.getElementById("textfieldId").parentNode.previousSibling.innerHTML ="输入框标题改变了:";

 

注:在更改它的标题之前,要保证该TextField已经被渲染到窗体。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值