0

ExtJS 1.0.1(magento)を使用しています

フォーム送信時にすべてのチェック済みノードを取得したいと思います。そして私はここで立ち往生しました:

tree.html(初期化):

tree<?php echo $this->getId() ?> = new Ext.tree.TreePanel.Enhanced('<?php echo $_divId ?>', {
            animate:          false,
            loader:           categoryLoader,
            enableDD:         false,
            containerScroll:  true,
            rootVisible:      '<?php echo $this->getRoot()->getIsVisible() ?>',
            useAjax:          true,
            currentNodeId:    <?php echo (int) $this->getCategoryId() ?>,
            addNodeTo:        false
        });

送信機能について:

function submit()
{

   console.log(tree'.$this->getId().');
   // got html code <div id="treeoptions_fieldset992cb0dd9a7da511e5596a229a5386d5_select_catalogb0f2cd4faa4f13b72f0df314bdc222ec" class="tree x-tree"><ul class="x-tree-root-ct x-tree-lines" id="ext-gen5859">...</ul></div>

   var checked_nodes = tree'.$this->getId().'.getChecked();
   // got an error Uncaught TypeError: Object #<HTMLDivElement> has no method 'getChecked'
}

Magentoは管理パネルでprototypeJSを使用します。問題は、getChecked()を実行するためにchecked_nodesにアドレス指定する方法です。

4

2 に答える 2

1

EXTJSのツリー機能に関するグーグルに基づいて、これを試してください

var checked_nodes = tree'.$this->getId().'.select(".x-grid-row-selected");
console.log(checked_nodes);

この.select()メソッドは、選択したCSSセレクターに一致するすべての子ノードを検索します

于 2013-01-10T21:13:05.137 に答える
0

作品をゲット!

treegetId()?> initの後にオブジェクトを作成しました:

function av_OkButton()
    {
        var tree = null;

        this.onPress = function()
        {
            var ids = this.tree.getChecked();
        }

        this.getTree = function()
        {
            return this.tree;
        }

        this.setTree = function(treeObj)
        {
            this.tree = treeObj;

            return this;
        }
    }

okButton = new av_OkButton;
okButton.setTree(tree<?php echo $this->getId() ?>);

次に、送信ボタンを作成しました。

私がしたことと今持っていることの違いが理解できませんが、それは私にとってはうまくいきます

于 2013-01-11T05:34:50.800 に答える