uchome 地方站地区解决办法 - 技术研讨 - 三路友社论坛 娱乐交友社区论坛 - SNS
返回列表 回复 发帖

uchome 地方站地区解决办法

一直在建设自己的地区站 玉溪之窗(http://yuxitv.com),没有时间发布文章。在进一个月的建站过程中,学到了不少,也走了不少弯路。

一个暑假即将结束,可是驾照还没有拿到,网站也就只刚弄出大概的样子。幸运的是四级过了,虽然分数不是很高454分,但是毕竟算通过了。 接下来的两三天要筹划一下补考的事情,一共考试7科,我挂了四科! 呵呵惭愧!

下面说明一下uchome地方站的地区设置解决办法。uchome的开发是针对全国用户的,所以地区上的设置时全国各各省份,省份详细市,以及海外。 这个对一般用户没有修改的必要。但是对于我们这些做地区性网站的,确实有必要修改。刚考虑这个问题的时候,是7-8天前,由于晚上11点熄灯了,我手机上网大概的看了一下。有的朋友说修改之后,好友搜索就会出现错误,搜索不到。那是我并没有细细的看。修改的方法很简单。 uchome注册的时候并没有需要设置自己的地点,而是注册之后完善个人资料的时候选择的。大家都知道uchome的地区选择是一个js 控制。source/script_city.js  打开这个文件一看,很简单的几句话。那么为什么修改后搜索会出现问题?

值得说明的是,数据库里面的这个字段是通过用户填写资料的时候写入的,所以如果修改了,并不影响填写资料时候的写入,填写的内容是什么,写入的就是什么。

不能搜索的站长,问题究竟在什么地方?  很简单! 不能搜索的是以前注册的用户。应为这部分用户已经填写过资料,数据库里面这个字段已经写上去了。 现在修改js 后,搜索只能选择,当然不能搜索到一部分用户。 新注册的用户选择地区资料后,写入的是新 js 里面的内容,所以不影响搜索。

郭恺已经测试。 (还有什么疑问的站长朋友可以留言,示范地址 玉溪之窗 玉溪家园  http://home.yuxitv.com

下面给出解决办法:

修改 UCenter Home 中的 source/script_city.js 文件

请先备份

修改后替换原文件就行!
这个是我修改后的:

function setcity(provinceid, cityid) {
    var province = document.getElementById(provinceid).value;
    switch (province) {
        case "红塔区" :
            var cityOptions = new Array(
            "玉兴路(*)", "玉兴路",
            "凤凰路", "凤凰路",
            "玉带路", "玉带路",
            "北城镇", "北城镇",
            "春和镇", "春和镇",
            "李棋镇", "李棋镇",
            "大营街", "大营街",
            "研和镇", "研和镇",
            "高仓镇", "高仓镇",
            "小石桥", "小石桥",
            "洛河", "洛河");
             break;
        case "江川县" :
            var cityOptions = new Array(
            "大街镇(*)", "大街镇",
            "江城镇", "江城镇",
            "前卫镇", "前卫镇",
            "九溪镇", "九溪镇",
            "路居镇", "路居镇",
            "安化乡", "安化乡",
            "雄关乡", "雄关乡");
            break;
        case "澄江县" :
            var cityOptions = new Array(
            "风麓镇(*)", "风麓镇",
            "龙街镇", "龙街镇",
            "阳宗镇", "阳宗镇",
            "右所镇", "右所镇",
            "海口镇", "海口镇",
            "九村镇", "九村镇");
            break;
        case "通海县" :
            var cityOptions = new Array(
            "秀山镇(*)", "秀山镇",
            "杨广镇", "杨广镇",
            "九街镇", "九街镇",
            "河西镇", "河西镇",
            "四街镇", "四街镇",
            "纳古镇", "纳古镇",
            "里山乡", "里山乡",
            "高大乡", "高大乡",
            "兴蒙乡", "兴蒙乡");
             break;
        case "华宁县" :
            var cityOptions = new Array(
            "宁州镇(*)", "宁州镇",
            "盘溪镇", "盘溪镇",
            "华溪镇", "华溪镇",
            "吉龙镇", "吉龙镇",
            "通红甸", "通红甸");
            break;
        case "易门县" :
            var cityOptions = new Array(
            "龙泉镇(*)", "龙泉镇",
            "六街镇", "六街镇",
            "绿汁镇", "绿汁镇",
            "浦贝乡", "浦贝乡",
            "十街乡", "十街乡",
            "铜厂乡", "铜厂乡",
            "小街乡", "小街乡");
            break;
        case "峨山县" :
            var cityOptions = new Array(
            "双江镇(*)", "双江镇",
            "小街镇", "小街镇",
            "甸中镇", "甸中镇",
            "化念镇", "化念镇",
            "岔河乡", "岔河乡",
            "塔甸镇", "塔甸镇",
            "大龙潭", "大龙潭",
            "富良棚", "富良棚",
            "化念农场", "化念农场");
            break;
        case "新平县" :
            var cityOptions = new Array(
            "桂山镇(*)", "桂山镇",
            "扬武镇", "扬武镇",
            "漠沙镇", "漠沙镇",
            "戛洒镇", "戛洒镇",
            "水塘镇", "水塘镇",
            "腰街镇", "腰街镇",
            "平甸乡", "平甸乡",
            "新化乡", "新化乡",
            "建兴乡", "建兴乡",
            "老厂乡", "老厂乡",
            "者鼋乡", "者鼋乡",
            "平掌乡", "平掌乡"
            );
            break;
        case "元江县" :
            var cityOptions = new Array(
            "澧江镇(*)", "澧江镇",
            "因远镇", "因远镇",
            "青龙厂镇", "青龙厂镇",
            "东峨镇", "东峨镇",
            "羊岔街乡", "羊岔街乡",
            "羊街乡", "羊街乡",
            "那诺乡", "那诺乡",
            "洼垤乡", "洼垤乡",
            "咪哩乡", "咪哩乡",
            "龙潭乡", "龙潭乡",
            "元江农场", "元江农场",
            "红光农场", "红光农场",
            "红侨农场", "红侨农场",
            "甘庄农场", "甘庄农场");
            break;
        case "中国其他" :
            var cityOptions = new Array(
            "北京(*)", "北京",
            "上海", "上海",
            "重庆", "重庆",
            "安徽", "安徽",
            "福建", "福建",
            "甘肃", "甘肃",
            "广东", "广东",
            "广西", "广西",
            "贵州", "贵州",
            "海南", "海南",
            "河北", "河北",
            "黑龙江", "黑龙江",
            "河南", "河南",
            "香港", "香港",
            "湖北", "湖北",
            "湖南", "湖南",
            "江苏", "江苏",
            "江西", "江西",
            "吉林", "吉林",
            "辽宁", "辽宁",
            "澳门", "澳门",
            "内蒙古", "内蒙古",
            "宁夏", "宁夏",
            "青海", "青海",
            "山东", "山东",
            "山西", "山西",
            "陕西", "陕西",            
            "四川", "四川",
            "台湾", "台湾",
            "天津", "天津",
            "新疆", "新疆",
            "西藏", "西藏",
            "浙江", "浙江",
            "云南", "云南",            
            "玉溪", "玉溪");
            break;            
        case "海外" :
            var cityOptions = new Array(
            "美国(*)", "美国",
            "英国", "英国",
            "法国", "法国",
            "瑞士", "瑞士",
            "澳洲", "澳洲",
            "新西兰", "新西兰",
            "加拿大", "加拿大",
            "奥地利", "奥地利",
            "韩国", "韩国",
            "日本", "日本",
            "德国", "德国",
            "意大利", "意大利",
            "西班牙", "西班牙",
            "俄罗斯", "俄罗斯",
            "泰国", "泰国",
            "印度", "印度",
            "荷兰", "荷兰",
            "新加坡", "新加坡",
            "欧洲", "欧洲",
            "北美", "北美",
            "南美", "南美",
            "亚洲", "亚洲",
            "非洲", "非洲",
            "大洋洲", "大洋洲");
            break;
        default:
            var cityOptions = new Array("选择城市", "");
            break;
    }


    var cityObject = document.getElementById(cityid);
    cityObject.options.length = 0;
    cityObject.options[0] = new Option("选择城市", "");
    var j = 0;
    for(var i = 0; i < cityOptions.length/2; i++) {
        j = i + 1;
        cityObject.options[j] = new Option(cityOptions[i*2],cityOptions[i*2+1]);
    }
}

function initprovcity(provinceid, province) {
    var provObject = document.getElementById(provinceid);
    for(var i = 0; i < provObject.options.length; i++) {
        if (provObject.options.value == province) {
            provObject.selectedIndex = i;
            break;
        }
    }
    //setcity(provinceid, cityid);
}

function showprovince(provinceid, cityid, province) {
    var provinces = new Array(
        "红塔区", "江川县", "澄江县", "通海县", "华宁县", "易门县", "峨山县", "新平县", "元江县", "中国其他","海外"
    );

    var html = "<select name=\"" + provinceid + "\" id=\"" + provinceid + "\" onchange=\"setcity('" + provinceid + "', '" + cityid + "');\">";
    html = html + "<option value=\"\">选择地区</option>";
    for(var i = 0; i < provinces.length; i++) {
        html = html + "<option value=\"" + provinces + "\">" + provinces + "</option>";
    }
    html = html + "</select>";
    document.write(html);

    initprovcity(provinceid, province);

}

function showcity(cityid, city, provinceid) {
    if(isUndefined(provinceid)) provinceid = '';
    var html = "&nbsp;<select name=\"" + cityid + "\" id=\"" + cityid + "\">";
    if(provinceid == '') {
        if(city == "") {
            html = html + "<option value=\"\">选择城市</option>";
        } else {
            html = html + "<option value=\"" + city + "\">" + city + "</option>";
        }
    }
    html = html + "</select>";
    document.write(html);
    if(provinceid != '') {
        setcity(provinceid, cityid);
        initprovcity(cityid, city);
    }
}
返回列表