2016-10-31 7 views
2

ラベルテキストを取得する方法を教えてもらえますか?setText()を使用すると実行されますが、取得したいときにはgetText()getLabel()で試してみました。だからアイデアがあれば助けが必要です。ありがとうラベルテキストを取得する

var lbl = { 
    xtype: 'label', 
    id: 'lblId', 
    text: 'Hello world!' 
}; 
new Ext.Panel({ 
    renderTo: Ext.getBody(), 
    width: 100, 
    height: 100, 
    items: [lbl, 
     { 
      xtype: 'button', 
      listeners: { 
       click: function() { 
        var label = Ext.get('lblId'); 
        console.log(label.getText()); 
       } 
      }, 
      text: 'click here' 
     }] 
}); 
+1

あなたがしようとした、ここでいくつかのコードを追加しますか? –

+0

extjsのバージョンは何ですか? – josei

+0

'label.getHtml()'を試してください。そこにhtmlコードを入れたいのであれば、代わりにhtml configを使用してください。 – qmateub

答えて

0

あなたはコンポーネントを取得する必要があります。

console.log(label.component.text); 
0

あなたは試すことができます:

App.label.getValue() 
0

をあなたのクリックのリスナー関数で次のように使用することができます。これは、内線のJSコンポーネントとしてラベルを取得します

  var label = Ext.getCmp('lblId'); 
      label.setText('the new text'); 
      console.log(label.text); 

と、あなた.setText()を使用してテキストを変更し、.textを使用してテキストを取得できます。あなたはこれらの三つの方法を試すことができますhttps://fiddle.sencha.com/#fiddle/1jkb

0

はフィドルを参照してください。最初にtextに直接アクセスし、他のフォームはラベルのDOMオブジェクトにアクセスしています。

var lbl = { 
 
    xtype: 'label', 
 
    id: 'lblId', 
 
    text: 'Hello world!' 
 
}; 
 

 
new Ext.Panel({ 
 
    renderTo: Ext.getBody(), 
 
    width: 100, 
 
    height: 100, 
 
    items: [lbl, 
 
     { 
 
      xtype: 'button', 
 
      listeners: { 
 
       click: function() { 
 
        var label = Ext.getCmp('lblId'); 
 
        console.log('Way 1: ' + label.text); 
 
        console.log('Way 2: ' + label.el.dom.innerHTML);  
 
        console.log('Way 3: ' + label.getEl().dom.innerHTML); 
 
       } 
 
      }, 
 
      text: 'click here' 
 
     }] 
 
});
<script src="http://cdn.sencha.com/ext/gpl/4.2.0/ext-all.js"></script> 
 
<link type="text/css" rel="stylesheet" href="http://cdn.sencha.com/ext/gpl/4.2.0/resources/css/ext-all.css")/>

関連する問題