日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

EXT表單組件常見屬性介紹(三)

 handanyou 2011-01-18

本范例展示如何使用表單的各種組件。

下拉框組件展示了5種使用范例:普通下拉框、綁定HTML組件的下拉框、樹形下拉框、分頁下拉框、多選下拉框等。



  

 

Js代碼 復(fù)制代碼
  1. Ext.onReady(function(){   
  2.     Ext.BLANK_IMAGE_URL = "/widgets/ext-2.2/resources/images/default/s.gif";    
  3.     Ext.QuickTips.init();   
  4.     Ext.form.Field.prototype.msgTarget = "qtip";   
  5.   
  6.     //component   
  7.     var hiddenField = new Ext.form.Hidden({   
  8.         name: "hiddenField",   
  9.         value: "1"  
  10.     });   
  11.   
  12.     var usernameField = new Ext.form.TextField({   
  13.         name: "username",   
  14.         fieldLabel: "用戶名",   
  15.         allowBlank: true,   
  16.         blankText: "請輸入用戶名!"  
  17.     });   
  18.   
  19.     var pwdField = new Ext.form.TextField({   
  20.         name: "password",   
  21.         fieldLabel: "密碼",   
  22.         allowBlank: true,   
  23.         blankText: "請輸入密碼!",   
  24.         inputType: "password"  
  25.     });   
  26.   
  27.     var ageField = new Ext.form.NumberField({   
  28.         name: "age",   
  29.         allowBlank: true,   
  30.         blankText: "請輸入年齡!",   
  31.         fieldLabel: "年齡",   
  32.         allowDecimals: false,   
  33.         allowNegative: false,   
  34.         minValue: 18,   
  35.         minText: "年齡不能少于18",   
  36.         maxValue: 100,   
  37.         maxText: "年齡不能大于100"  
  38.     });   
  39.   
  40.     var love1 = new Ext.form.Checkbox({   
  41.         name: "love1",   
  42.         boxLabel: "打球",   
  43.         inputValue: "1"  
  44.     });   
  45.   
  46.     var love2 = new Ext.form.Checkbox({   
  47.         name: "love2",   
  48.         boxLabel: "游泳",   
  49.         inputValue: "2"  
  50.     });   
  51.   
  52.     var love3 = new Ext.form.Checkbox({   
  53.         name: "love3",   
  54.         boxLabel: "登山",   
  55.         inputValue: "3"  
  56.     });   
  57.   
  58.     var loveGroup = new Ext.form.CheckboxGroup({   
  59.         name: "love",   
  60.         columns: [80, 80, 1.0],   
  61.         fieldLabel: "愛好",   
  62.         items: [love1, love2, love3]   
  63.     });   
  64.   
  65.     var sex1 = new Ext.form.Radio({   
  66.         name: "sex1",   
  67.         boxLabel: "男",   
  68.         inputValue: "1"  
  69.     });   
  70.   
  71.     var sex2 = new Ext.form.Radio({   
  72.         name: "sex1",   
  73.         boxLabel: "女",   
  74.         inputValue: "0"  
  75.     });   
  76.   
  77.     var sexGroup = new Ext.form.RadioGroup({   
  78.         name: "sex",   
  79.         columns: [80, 1.0],   
  80.         fieldLabel: "性別",   
  81.         items: [sex1, sex2]   
  82.     });   
  83.   
  84.     //本地數(shù)據(jù)源的組合框   
  85.     var store = new Ext.data.SimpleStore({   
  86.         fields: ["code""name"],   
  87.         data: [   
  88.             ["1""北京"],   
  89.             ["5""上海"],   
  90.             ["4",  "廣東"]   
  91.         ]   
  92.     });   
  93.     var cmbProvince = new Ext.form.ComboBox({   
  94.         id: "cmbProvince",   
  95.         hiddenName: "province.id",   
  96.         fieldLabel: "省份",   
  97.         resizable: true,   
  98.         editable: false,   
  99.         width: 100,   
  100.         emptyText: "請選擇...",   
  101.         store: store,   
  102.         valueField: "code",   
  103.         displayField: "name",   
  104.         triggerAction: "all",   
  105.         mode: "local"  
  106.     });   
  107.   
  108.     //遠(yuǎn)程數(shù)據(jù)源的組合框   
  109.     var store2 = new Ext.data.SimpleStore({   
  110.         fields: ["name"],   
  111.         proxy: new Ext.data.HttpProxy({   
  112.             url: "../testForm!loadData.action"  
  113.         })   
  114.     });   
  115.   
  116.     var cmbManager = new Ext.form.ComboBox({   
  117.         hiddenName: "manager",   
  118.         fieldLabel: "經(jīng)理",   
  119.         editable: false,   
  120.         triggerAction: "all",   
  121.         mode: "local",   
  122.         maxHeight: 200,   
  123.         store: new Ext.data.SimpleStore({fields:[],data:[[]]}),   
  124.         onSelect: Ext.emptyFn,   
  125.         tpl: "<tpl for='.'><div id='tree'></div></tpl>"  
  126.     });   
  127.   
  128.     var root = new Ext.tree.TreeNode({   
  129.         nodeId: 1,   
  130.         text: "根節(jié)點",   
  131.         expanded: true  
  132.     });   
  133.     root.appendChild(new Ext.tree.TreeNode({nodeId:2, text:"節(jié)點A", leaf:true}));   
  134.     root.appendChild(new Ext.tree.TreeNode({nodeId:3, text:"節(jié)點B", leaf:true}));   
  135.   
  136.     var tree = new Ext.tree.TreePanel({   
  137.         root: root,   
  138.         border: false,   
  139.         autoHeight: true,   
  140.         autoScroll: true  
  141.     });   
  142.   
  143.     tree.on("click"function(node){      
  144.         if(!node.isLeaf()) return//只能選擇葉節(jié)點   
  145.         //下拉框的隱藏值   
  146.         if(cmbManager.hiddenField){   
  147.             cmbManager.hiddenField.value = node.attributes.nodeId;   
  148.         }   
  149.         cmbManager.setRawValue(node.text); //下拉框的顯示值   
  150.         cmbManager.collapse(); //折疊下拉框   
  151.     });   
  152.   
  153.     cmbManager.on("expand"function(){     
  154.         tree.render("tree");      
  155.     });    
  156.   
  157.     //分頁遠(yuǎn)程數(shù)據(jù)源的組合框   
  158.     var store3 = new Ext.data.JsonStore({   
  159.         url: "../testForm!loadData3.action",   
  160.         totalProperty: "totalNum",   
  161.         root: "books",   
  162.         fields: ["id""name"]   
  163.     });   
  164.     var cmbBook = new Ext.form.ComboBox({   
  165.         hiddenName: "books",   
  166.         fieldLabel: "書籍",   
  167.         store: store3,   
  168.         valueField: "name",   
  169.         displayField: "name",   
  170.         triggerAction: "all",   
  171.         mode: "remote",   
  172.         queryParam: "books",   
  173.         loadingText: "正在裝載數(shù)據(jù)...",   
  174.         width: 180,   
  175.         minChars: 1,   
  176.         editable: false,   
  177.         listWidth: 250,   
  178.         pageSize: 3   
  179.     });   
  180.   
  181.     //HTML標(biāo)準(zhǔn)組件   
  182.     var cmbPass = new Ext.form.ComboBox({   
  183.         hiddenName: "status",   
  184.         fieldLabel: "是否有效",   
  185.         triggerAction: "all",   
  186.         editable: false,   
  187.         width: 100,   
  188.         transform: "isPass",   
  189.         lazyRender: true  
  190.     });   
  191.   
  192.     var cmbTimes = new Ext.form.TimeField({   
  193.         hiddenName: "time",   
  194.         fieldLabel: "時間",   
  195.         minValue: "09:00",   
  196.         minText: "所選時間應(yīng)大于{0}",   
  197.         maxValue: "18:00",   
  198.         maxText: "所選時間應(yīng)小于{0}",   
  199.         format: "H時i分",   
  200.         increment: 30,   
  201.         invalidText: "時間格式無效!",   
  202.         maxHeight: 200,   
  203.         width: 100,   
  204.         value: "09時00分",   
  205.         editable: false  
  206.     });   
  207.   
  208.     var cmbMonths = new Ext.ux.MultiSelectCombo({   
  209.         hiddenName: "months",   
  210.         fieldLabel: "月份",   
  211.         maxHeight: 200,   
  212.         editable: false,   
  213.         store: [["201010","201010"], ["201009","201009"], ["201008","201008"], ["201007","201007"], ["201006","201006"]],   
  214.         mode: "local",   
  215.         width: 180,   
  216.         maxItemsCount: 3,   
  217.         maxItemsCountText: "最多只能選擇三個選項!"  
  218.     });   
  219.   
  220.     var cmbBirths =  new Ext.form.DateField({   
  221.         name: "births",   
  222.         fieldLabel: "出生日期",   
  223.         disabledDays: [0,6],   
  224.         disabledDaysText: "禁止選擇周末!",   
  225.         width: 100,   
  226.         readOnly: true,   
  227.         format: "Y-m-d",   
  228.         invalidText: "不是有效的日期值!"  
  229.     });   
  230.   
  231.     var fieldSet1 = new Ext.form.FieldSet({   
  232.         title: "下拉框",   
  233.         checkboxName: "fieldSet1",   
  234.         checkboxToggle: true,   
  235.         autoHeight: true,   
  236.         layout: "table",   
  237.         layoutConfig: {   
  238.             columns: 3   
  239.         },   
  240.         defaults: {   
  241.             style:"margin-left:8px; margin-top:3px; margin-right:8px; margin-bottom:3px; valign:top",   
  242.             layout:"form",   
  243.             labelAlign: "right"  
  244.         },   
  245.         items: [   
  246.             {rowspan:1, colspan:1, items:[cmbProvince]},   
  247.             {rowspan:1, colspan:1, items:[cmbManager]},   
  248.             {rowspan:1, colspan:1, items:[cmbBook]},   
  249.             {rowspan:1, colspan:1, items:[cmbPass]},   
  250.             {rowspan:1, colspan:1, items:[cmbTimes]},   
  251.             {rowspan:1, colspan:1, items:[cmbMonths]},   
  252.             {rowspan:1, colspan:1, items:[cmbBirths]}]   
  253.     });   
  254.   
  255.     var remarksField = new Ext.form.TextArea({   
  256.         name: "remarks",   
  257.         fieldLabel: "備注",   
  258.         width: 400,   
  259.         height: 80   
  260.     });   
  261.   
  262.     var form = new Ext.form.FormPanel({   
  263.         id: "frmAddUser",   
  264.         title: "新增用戶",   
  265.         autoWidth: true,   
  266.         autoHeight: true,   
  267.         frame: true,   
  268.         renderTo: Ext.getBody(),   
  269.         labelWidth: 70,   
  270.         tbar: toolbar,   
  271.         items: [hiddenField, usernameField, pwdField, ageField, loveGroup, sexGroup,    
  272.             fieldSet1, remarksField],   
  273.         url: "../testForm!ajaxSubmitForm.action"  
  274.     });   
  275. });  
Js代碼 復(fù)制代碼
  1. Ext.onReady(function(){   
  2.     Ext.BLANK_IMAGE_URL = "/widgets/ext-2.2/resources/images/default/s.gif";    
  3.     Ext.QuickTips.init();   
  4.     Ext.form.Field.prototype.msgTarget = "qtip";   
  5.   
  6.     //component   
  7.     var hiddenField = new Ext.form.Hidden({   
  8.         name: "hiddenField",   
  9.         value: "1"  
  10.     });   
  11.   
  12.     var usernameField = new Ext.form.TextField({   
  13.         name: "username",   
  14.         fieldLabel: "用戶名",   
  15.         allowBlank: true,   
  16.         blankText: "請輸入用戶名!"  
  17.     });   
  18.   
  19.     var pwdField = new Ext.form.TextField({   
  20.         name: "password",   
  21.         fieldLabel: "密碼",   
  22.         allowBlank: true,   
  23.         blankText: "請輸入密碼!",   
  24.         inputType: "password"  
  25.     });   
  26.   
  27.     var ageField = new Ext.form.NumberField({   
  28.         name: "age",   
  29.         allowBlank: true,   
  30.         blankText: "請輸入年齡!",   
  31.         fieldLabel: "年齡",   
  32.         allowDecimals: false,   
  33.         allowNegative: false,   
  34.         minValue: 18,   
  35.         minText: "年齡不能少于18",   
  36.         maxValue: 100,   
  37.         maxText: "年齡不能大于100"  
  38.     });   
  39.   
  40.     var love1 = new Ext.form.Checkbox({   
  41.         name: "love1",   
  42.         boxLabel: "打球",   
  43.         inputValue: "1"  
  44.     });   
  45.   
  46.     var love2 = new Ext.form.Checkbox({   
  47.         name: "love2",   
  48.         boxLabel: "游泳",   
  49.         inputValue: "2"  
  50.     });   
  51.   
  52.     var love3 = new Ext.form.Checkbox({   
  53.         name: "love3",   
  54.         boxLabel: "登山",   
  55.         inputValue: "3"  
  56.     });   
  57.   
  58.     var loveGroup = new Ext.form.CheckboxGroup({   
  59.         name: "love",   
  60.         columns: [80, 80, 1.0],   
  61.         fieldLabel: "愛好",   
  62.         items: [love1, love2, love3]   
  63.     });   
  64.   
  65.     var sex1 = new Ext.form.Radio({   
  66.         name: "sex1",   
  67.         boxLabel: "男",   
  68.         inputValue: "1"  
  69.     });   
  70.   
  71.     var sex2 = new Ext.form.Radio({   
  72.         name: "sex1",   
  73.         boxLabel: "女",   
  74.         inputValue: "0"  
  75.     });   
  76.   
  77.     var sexGroup = new Ext.form.RadioGroup({   
  78.         name: "sex",   
  79.         columns: [80, 1.0],   
  80.         fieldLabel: "性別",   
  81.         items: [sex1, sex2]   
  82.     });   
  83.   
  84.     //本地數(shù)據(jù)源的組合框   
  85.     var store = new Ext.data.SimpleStore({   
  86.         fields: ["code""name"],   
  87.         data: [   
  88.             ["1""北京"],   
  89.             ["5""上海"],   
  90.             ["4",  "廣東"]   
  91.         ]   
  92.     });   
  93.     var cmbProvince = new Ext.form.ComboBox({   
  94.         id: "cmbProvince",   
  95.         hiddenName: "province.id",   
  96.         fieldLabel: "省份",   
  97.         resizable: true,   
  98.         editable: false,   
  99.         width: 100,   
  100.         emptyText: "請選擇...",   
  101.         store: store,   
  102.         valueField: "code",   
  103.         displayField: "name",   
  104.         triggerAction: "all",   
  105.         mode: "local"  
  106.     });   
  107.   
  108.     //遠(yuǎn)程數(shù)據(jù)源的組合框   
  109.     var store2 = new Ext.data.SimpleStore({   
  110.         fields: ["name"],   
  111.         proxy: new Ext.data.HttpProxy({   
  112.             url: "../testForm!loadData.action"  
  113.         })   
  114.     });   
  115.   
  116.     var cmbManager = new Ext.form.ComboBox({   
  117.         hiddenName: "manager",   
  118.         fieldLabel: "經(jīng)理",   
  119.         editable: false,   
  120.         triggerAction: "all",   
  121.         mode: "local",   
  122.         maxHeight: 200,   
  123.         store: new Ext.data.SimpleStore({fields:[],data:[[]]}),   
  124.         onSelect: Ext.emptyFn,   
  125.         tpl: "<tpl for='.'><div id='tree'></div></tpl>"  
  126.     });   
  127.   
  128.     var root = new Ext.tree.TreeNode({   
  129.         nodeId: 1,   
  130.         text: "根節(jié)點",   
  131.         expanded: true  
  132.     });   
  133.     root.appendChild(new Ext.tree.TreeNode({nodeId:2, text:"節(jié)點A", leaf:true}));   
  134.     root.appendChild(new Ext.tree.TreeNode({nodeId:3, text:"節(jié)點B", leaf:true}));   
  135.   
  136.     var tree = new Ext.tree.TreePanel({   
  137.         root: root,   
  138.         border: false,   
  139.         autoHeight: true,   
  140.         autoScroll: true  
  141.     });   
  142.   
  143.     tree.on("click"function(node){      
  144.         if(!node.isLeaf()) return//只能選擇葉節(jié)點   
  145.         //下拉框的隱藏值   
  146.         if(cmbManager.hiddenField){   
  147.             cmbManager.hiddenField.value = node.attributes.nodeId;   
  148.         }   
  149.         cmbManager.setRawValue(node.text); //下拉框的顯示值   
  150.         cmbManager.collapse(); //折疊下拉框   
  151.     });   
  152.   
  153.     cmbManager.on("expand"function(){     
  154.         tree.render("tree");      
  155.     });    
  156.   
  157.     //分頁遠(yuǎn)程數(shù)據(jù)源的組合框   
  158.     var store3 = new Ext.data.JsonStore({   
  159.         url: "../testForm!loadData3.action",   
  160.         totalProperty: "totalNum",   
  161.         root: "books",   
  162.         fields: ["id""name"]   
  163.     });   
  164.     var cmbBook = new Ext.form.ComboBox({   
  165.         hiddenName: "books",   
  166.         fieldLabel: "書籍",   
  167.         store: store3,   
  168.         valueField: "name",   
  169.         displayField: "name",   
  170.         triggerAction: "all",   
  171.         mode: "remote",   
  172.         queryParam: "books",   
  173.         loadingText: "正在裝載數(shù)據(jù)...",   
  174.         width: 180,   
  175.         minChars: 1,   
  176.         editable: false,   
  177.         listWidth: 250,   
  178.         pageSize: 3   
  179.     });   
  180.   
  181.     //HTML標(biāo)準(zhǔn)組件   
  182.     var cmbPass = new Ext.form.ComboBox({   
  183.         hiddenName: "status",   
  184.         fieldLabel: "是否有效",   
  185.         triggerAction: "all",   
  186.         editable: false,   
  187.         width: 100,   
  188.         transform: "isPass",   
  189.         lazyRender: true  
  190.     });   
  191.   
  192.     var cmbTimes = new Ext.form.TimeField({   
  193.         hiddenName: "time",   
  194.         fieldLabel: "時間",   
  195.         minValue: "09:00",   
  196.         minText: "所選時間應(yīng)大于{0}",   
  197.         maxValue: "18:00",   
  198.         maxText: "所選時間應(yīng)小于{0}",   
  199.         format: "H時i分",   
  200.         increment: 30,   
  201.         invalidText: "時間格式無效!",   
  202.         maxHeight: 200,   
  203.         width: 100,   
  204.         value: "09時00分",   
  205.         editable: false  
  206.     });   
  207.   
  208.     var cmbMonths = new Ext.ux.MultiSelectCombo({   
  209.         hiddenName: "months",   
  210.         fieldLabel: "月份",   
  211.         maxHeight: 200,   
  212.         editable: false,   
  213.         store: [["201010","201010"], ["201009","201009"], ["201008","201008"], ["201007","201007"], ["201006","201006"]],   
  214.         mode: "local",   
  215.         width: 180,   
  216.         maxItemsCount: 3,   
  217.         maxItemsCountText: "最多只能選擇三個選項!"  
  218.     });   
  219.   
  220.     var cmbBirths =  new Ext.form.DateField({   
  221.         name: "births",   
  222.         fieldLabel: "出生日期",   
  223.         disabledDays: [0,6],   
  224.         disabledDaysText: "禁止選擇周末!",   
  225.         width: 100,   
  226.         readOnly: true,   
  227.         format: "Y-m-d",   
  228.         invalidText: "不是有效的日期值!"  
  229.     });   
  230.   
  231.     var fieldSet1 = new Ext.form.FieldSet({   
  232.         title: "下拉框",   
  233.         checkboxName: "fieldSet1",   
  234.         checkboxToggle: true,   
  235.         autoHeight: true,   
  236.         layout: "table",   
  237.         layoutConfig: {   
  238.             columns: 3   
  239.         },   
  240.         defaults: {   
  241.             style:"margin-left:8px; margin-top:3px; margin-right:8px; margin-bottom:3px; valign:top",   
  242.             layout:"form",   
  243.             labelAlign: "right"  
  244.         },   
  245.         items: [   
  246.             {rowspan:1, colspan:1, items:[cmbProvince]},   
  247.             {rowspan:1, colspan:1, items:[cmbManager]},   
  248.             {rowspan:1, colspan:1, items:[cmbBook]},   
  249.             {rowspan:1, colspan:1, items:[cmbPass]},   
  250.             {rowspan:1, colspan:1, items:[cmbTimes]},   
  251.             {rowspan:1, colspan:1, items:[cmbMonths]},   
  252.             {rowspan:1, colspan:1, items:[cmbBirths]}]   
  253.     });   
  254.   
  255.     var remarksField = new Ext.form.TextArea({   
  256.         name: "remarks",   
  257.         fieldLabel: "備注",   
  258.         width: 400,   
  259.         height: 80   
  260.     });   
  261.   
  262.     var form = new Ext.form.FormPanel({   
  263.         id: "frmAddUser",   
  264.         title: "新增用戶",   
  265.         autoWidth: true,   
  266.         autoHeight: true,   
  267.         frame: true,   
  268.         renderTo: Ext.getBody(),   
  269.         labelWidth: 70,   
  270.         tbar: toolbar,   
  271.         items: [hiddenField, usernameField, pwdField, ageField, loveGroup, sexGroup,    
  272.             fieldSet1, remarksField],   
  273.         url: "../testForm!ajaxSubmitForm.action"  
  274.     });   
  275. });  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約