Динамическое изменение текста гиперссылки в Extjs - PullRequest
1 голос
/ 08 февраля 2012

Ниже приведен код, с помощью которого я создаю ссылку на своей странице, используя ExtJS:

var linkTransValues = {
    xtype: 'box',
    id : 'testId',
    hidden : true,
    autoEl: {
        tag: 'a', 
        href: 'javascript:addCategoryValue()', 
        html: 'Add Transition Category'
    }
}

Теперь я хочу, чтобы пользователь выбирал значение из одного поля со списком, каким бы ни было описание поля со списком, описание должно быть в тексте ссылки. Вот мой код, который я вызываю при выборе поля со списком:

transType.on('select', function(cbox, rec, index) {        
    Ext.getCmp("testId").transId = cbox.getValue();
    Ext.getCmp("testId").autoEl.html="dropdown description";
    Ext.getCmp("testId").show();
});

Проблема в том, что он изменяет значение html, но новое значение не отражает его показа исходного значения, а только то, как изменить значение ссылки. Как я могу это изменить?

Ответы [ 3 ]

0 голосов
/ 29 января 2014
    enter code here

View File :

Ext.define('ExtMVC.view.contact.ContactForm', {
    extend : 'Ext.form.Panel',
    alias : 'widget.contactform',
    name : 'contactform',
    frame : true,
    title : 'XML Form',
    items : [ {
        xtype : 'fieldset',
        title : 'Contact Information',
        defaultType : 'displayfield',
        defaults : {
            width : 280
        },
        items : [ {
            label : 'First',
            xtype : 'hyperLink',
            itemId : 'CData',
            id : 'CData',
            value : 'test'

        } ]
    } ]

});


Controller File :

Ext.define('ExtMVC.controller.Contacts', {
    extend : 'Ext.app.Controller',

    views : [ 'contact.ContactForm', 'contact.hyperLink' ],

    init : function() {

        this.control({
            '[itemId=CData]' : {
                afterrender : function(cmp) {
                    // debugger;
                    // cmp.down('[itemId=CData]').update('testst');
                    //Ext.get('CData-btnEl').update('new value');
                    //alert('rerer');
                    //$('#CData-btnEl').text('20/10/2013');
                    // console.log("tsrrtya::" +
                    // cmp.down('[itemId=CData]').update('New label'));
                },
                click : function(cmp) {
                    alert("test");
                    // debugger;
                    // cmp.down('[itemId=CData]').update('testst');
                    //Ext.get('CData-btnEl').update('new value');
                    //cmp.down('[itemId=CData]').setValue('NValue');
                    // console.log("tsrrtya::" +
                    // cmp.down('[itemId=CData]').update('New label'));
                }
            }
        });
    }

});


Dynamic HyperLink File
Ext.define('ExtMVC.view.contact.hyperLink', {
    extend : 'Ext.Component',
    alias : 'hyperLink',
    xtype : "hyperLink",
    itemId : "hyperLink",
    autoEl : 'a',
    renderTpl : '{label} <a href=\"javascript:;\" id="{id}-btnEl">{value}</a>',
    config : {
        text : '',
        value : '',
        label : '',
        handler : function() {
        }
    },
    initComponent : function() {
        var me = this;
        me.callParent(arguments);

        this.renderData = {
            text : this.getText(),
            value : this.getValue(),
            label : this.getLabel()
        };
    },
    onRender : function(ct, position) {
        var me = this, btn;

        me.addChildEls('btnEl');

        me.callParent(arguments);

        btn = me.btnEl;
        me.on('afterrender', function () { });
        me.mon(btn, 'click', me.onClick, me);
    },
    onClick : function(e) {
        var me = this;
        if (me.preventDefault || (me.disabled && me.getHref()) && e) {
            e.preventDefault();
        }
        if (e.button !== 0) {
            return;
        }
        if (!me.disabled) {
            me.fireHandler(e);
        }
    },
    fireHandler : function(e) {
        var me = this, handler = me.handler;

        me.fireEvent('click', me, e);
        if (handler) {
            handler.call(me.scope || me, me, e);
        }
    }
});
0 голосов
/ 29 января 2015
 var linkTransValues = {
         xtype: 'box',
         id : 'testId',
         hidden : true,
         autoEl: {tag: 'a', id : 'testId',, href: 'javascript:addCategoryValue()', html: 'Add Transition Category'}
        };

Ext.get('testId').dom.href="your URL or function";
0 голосов
/ 08 февраля 2012

Попробуйте

    var linkTransValues = {
             xtype: 'box',
             id : 'testId',
             hidden : true,
             autoEl: {tag: 'a', id: 'my-element', href: 'javascript:addCategoryValue()', html: 'Add Transition Category'}
            };

    Ext.get('my-element').update('new value');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...