aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 12162|回复: 1

JSON 省市县三级联动

[复制链接]

17

主题

33

回帖

437

积分

二级会员

积分
437
发表于 2013-1-21 13:12:01 | 显示全部楼层 |阅读模式
本帖最后由 hatesky 于 2013-1-21 14:48 编辑

QQ截图20130121131008.png

import win.ui;
/*DSG{{*/
mainForm = ..win.form( bottom=86;parent=...;text=
"省市县三级联动";right=334 )
mainForm.add(
cmbCity={ bottom=48;right=202;left=110;vscroll=1;top=28;text=
"combobox";z=2;
items={  };mode=
"dropdown";edge=1;cls="combobox" };
cmbProvince={ bottom=48;text=
"combobox";left=32;vscroll=1;top=28;right=98;z=1;
items={  };mode=
"dropdown";edge=1;cls="combobox" };
cmbCounty={ vscroll=1;text=
"combobox";left=213;bottom=48;
items={  };right=305;z=3;top=28;mode=
"dropdown";edge=1;cls="combobox" }
)
/*}}*/

sortTab =
function(stab){
   
var tmptab = {};
   
for(k,v in stab){
        
if(k == "n"){
            
continue;
        }
        table.insert(tmptab,k);
    }
    table.sort(tmptab)
   
return tmptab;
}

gethItem =
function(stxt,stab){
   
var hItem;
   
for(k,v in stab){
        
if(k == "n"){
            
continue;
        }
        
if(stxt == stab[k].n){
            hItem = k;
            
break;  
        }
    }
   
return hItem;
}

import web.json;
var str = string.load("\addr.txt");
var tab = web.json.parse(str);

var tmptab = sortTab(tab);
for(k,v in tmptab){
    mainForm.cmbProvince.add(tab[v].n);
}

var phItem;
mainForm.cmbProvince.oncommand =
function(id,event){
   
if(event == 0x1/*_CBN_SELCHANGE*/){
        mainForm.cmbCity.clear();
        mainForm.cmbCounty.clear();

        phItem = gethItem(mainForm.cmbProvince.selText,tab);
        tmptab = sortTab(tab[phItem]);

        
for(k,v in tmptab){
            mainForm.cmbCity.add(tab[phItem][v].n);
        }
    }
}

mainForm.cmbCity.oncommand =
function(id,event){
   
if(event == 0x1/*_CBN_SELCHANGE*/){
        mainForm.cmbCounty.clear();

        hItem = gethItem(mainForm.cmbCity.selText,tab[phItem]);
        tmptab = sortTab(tab[phItem][hItem]);

        
for(k,v in tmptab){
            mainForm.cmbCounty.add(tab[phItem][hItem][v].n);
        }
        
    }
}

/***
import config;
mainForm.bindConfig( config.mainForm,{
    edit = "text"; //绑定edit控件的text属性值到配置文件
    radiobutton = "checked";
    checkbox = "checked";
    combobox = "selIndex";
} );
***/


mainForm.show()
win.loopMessage();

addr.rar (20.2 KB, 下载次数: 392)


13

主题

76

回帖

491

积分

二级会员

积分
491
发表于 2013-1-22 00:39:32 | 显示全部楼层
不错,学习
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-3-20 03:29 , Processed in 0.058751 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表