>
extjs4.0을 사용할 때 문제가 발생했습니다 .Ext.data.TreeStore로 데이터를 다운로드하고, 데이터를 다운로드하는 것은 JSON 배열이며, Whitch는 확인란이있는 Tree.panle에 나타납니다 .Itme의 선택 상태를 수정했습니다. 제출하여 다음 코드를 사용하십시오.

   var d=store.lastOptions.node.childNodes;
    var postData="";
    for(var i=0;i<d.length;i++)
    {
          postData+=JSON.stringify(d[i].data)+",";
    }
    postData="["+postData.substring(0,postData.length-1)+"]";
    $.ajax({
          url: '/test.php',
          type: 'POST',
          data: postData,
     ... 

하지만 JSON 배열에서 확인했습니다 "{children : [{checked : false, ..} {checked : false, ...}]}"는 항상 거짓입니다. 올바른 방법을 사용하지 않은 것 같습니다. 제출 된 JSON 데이터를 얻으십시오. 따라서 그러한 실수가 있습니다. 도와 주셔서 감사합니다.


  • 답변 # 1

    이걸로 시도해보십시오 :

    Ext.onReady(function(){
        Ext.QuickTips.init();
        Ext.define('Test.Window', {
            extend: 'Ext.window.Window',
            closeAction: 'destroy',
            border: false,
            width: 560,
            height: 500,
            modal: true,
            closable: true,
            resizable: false,
            layout: 'fit',
            initComponent: function() {
                var me = this;
                me.callParent(arguments);
                me.button = Ext.create('Ext.button.Button', {
                    text: 'Send',
                    handler : function(btn) {
                        var me = btn.up('window');
                        var root = me.tree.getRootNode();
                        var a = Array();
                        for (var i=0; i < root.childNodes.length; i++) {
                            var data = root.childNodes[i].data;
                            a.push(
                                {
                                text: data.text,
                                checked: data.checked
                                // ... something more
                                }
                            );
                        }
                        var postData = Ext.JSON.encode({
                            children: a
                        });
                        alert(postData);
                    }   
                });
                me.store = Ext.create('Ext.data.TreeStore', {
                    root: {
                        expanded: true,
                        children: [
                            {
                            text: "detention",
                            checked: true,
                            leaf: true
                            },
                            {
                            text: "homework", 
                            checked: true,
                            leaf: true
                            },
                            {
                            text: "buy lottery tickets", 
                            checked: true,
                            leaf: true
                            }
                        ]
                    }
                });
                me.tree = Ext.create('Ext.tree.Panel', {
                    useArrows: true,
                    autoScroll: true,
                    animate: true,
                    enableDD: false,
                    width: '100%',
                    flex: 1,
                    border: false,
                    rootVisible: false,
                    allowChildren: true,
                    store: me.store,
                    tbar: [
                        me.button
                    ]
                });
                me.add(me.tree);
            }
    
        }); 
    
        var win = new Test.Window({
        });
        win.show();
    });
    
    

    여기에서 바이올린을 찾을 수 있습니다.

  • 이전 Mac OS X에서 nginx를 제거 할 수 없습니다
  • 다음 php - 명령 행을 사용하여 일반 텍스트를 파일 우분투에 삽입