首页 > 解决方案 > Shopware - Extjs - 如何获取表格元素的值?

问题描述

有一段时间我的 Shopware 插件有问题。我扩展了文章列表窗口,添加了一个带有复选框的列。当客户点击复选框时,我需要获取另一列中的文章编号。

我第一次这样做的方式似乎不可靠,因为它取决于可以改变的列的位置。

//{block name="backend/article_list/view/main/grid"}
//{$smarty.block.parent}
//{namespace name=backend/article_list/main}
Ext.define('Shopware.apps.ArticleList.view.main.etsy_attribute.Grid', {

    override: 'Shopware.apps.ArticleList.view.main.Grid',

    ...

    getToolbar: function () {
        var me = this, buttons;

        buttons = me.callParent();
        me.equaliseEtsyBtn = Ext.create('Ext.button.Button', {
            text: 'Etsy equalise',
            iconCls: 'sprite-drive-upload',
            onClick: function () {
                var i,
                recPerPage = me.items.items[0].all.elements,

                for (i = 0; i < recPerPage.length; i++) {
                    var productNumber = recPerPage[i].children[2].innerText;
                if( recPerPage[i].children[numOfChildren].children[0].children[0].checked === true) {
                        Ext.Ajax.request({
                            method: 'POST',
                            url: '{url controller="someController" action="someAction"}',
                            params: Object.assign({
                                productNumber: productNumber
                            }),
                            success: function (res) {
                                //var parsed = JSON.parse(res.responseText);
                            },
                            failure: function () {

                            }
                        });
                    } else {

                        });

                    }
                }
            }
        });

        buttons.add(me.equaliseEtsyBtn);

        return buttons;
    },

})

这里不好的是:

recPerPage[i].children[numOfChildren].children[0].children[0].checked === true

和类似的线路。如何以更智能、更准确的方式获得我需要的价值?

还尝试了 .down 和 .up

请给我一些方向!

标签: extjsshopware

解决方案


推荐阅读