当前位置:编程学习 > C#/ASP.NET >>

省市县的三级联动效果,用asp.net做,附带sql数据库,求高手给源码..

省市县的三级联动效果,用asp.net做,附带sql数据库,求高手给源码.. 邮箱420259919@qq.com --------------------编程问答-------------------- 这个东西不是多的是吗???我记得以前好多人发过的。你搜下。
--------------------编程问答-------------------- 用ajax联动啊 --------------------编程问答-------------------- 有视频有DEMO ,http://www.cnblogs.com/insus/archive/2011/07/04/2097059.html --------------------编程问答-------------------- 不要说明,要实例通知们...... --------------------编程问答-------------------- 晕死,这个简单东西都做不出来搞毛线 --------------------编程问答-------------------- 绝对不发。。
--------------------编程问答-------------------- 转行吧 --------------------编程问答--------------------
引用 3 楼  的回复:
有视频有DEMO ,http://www.cnblogs.com/insus/archive/2011/07/04/2097059.html

给了你视频DEMO源码你还想闹哪样? --------------------编程问答--------------------

--------------------编程问答-------------------- 吃拿卡要,伸手党!

还不知羞耻让人主动把东西发邮箱,呵呵,得来全不费工夫! --------------------编程问答-------------------- --------------------编程问答-------------------- LZ是不冲动了,先做下来谈谈价钱嘛 --------------------编程问答-------------------- 人家 不就要个代码啊  你们那么多意见 站着说话不腰疼啊 --------------------编程问答-------------------- 随我念:“麻利麻利哄,麻利麻利哄,麻利麻利哄哄哄,心想事成,变!”
源码到手 --------------------编程问答-------------------- 通篇只有要求,连个“请”字都没有。。最基本的礼节都不会。。 --------------------编程问答--------------------
var AddressSelect = function () {
    var dvc = 'dv_ctner_', txts = 'txt_s_n_', txth = 'txt_h_i_';
    var container;
    function init(containerselector) {
        container = $(containerselector);
        var p1 = '<div class="m_address_box clearfix" style="width:400px;display:none;position:absolute;font-size:9pt;';
        var p2 = '><div class="m_address_bd clearfix"></div></div>';
        var h = '';
        for (var i = 0; i < 3; i++) {
            h += p1;
            if (i > 0) {
                h += 'max-height:300px;min-height:1px;overflow-y:scroll;';
            }
            h += '" id="' + dvc + i + '" ' + p2;
            h += getShowInput(i);
            h += getHiddenInput(i);
        }
        container.html(h);
        initProvince();
        bindShowInputEvent(0);
        bindShowInputEvent(1);
        bindShowInputEvent(2);
        bindActionEvent(0);
        $('body').bind('mousedown', function (event) {
            var target = C.Event.getTarget(event);
            if (target.id.indexOf(dvc) < 0) {
                hiddenDv();
            }
        });
    }
    function bindShowInputEvent(index) {
        $('#' + txts + index).bind('focus', function () {
            var self = $(this);
            var c = $('#' + dvc + index);
            if (c.find('a').length > 0 || c.find('img').length > 0) {
                c.css('display', '').css('left', self.offset().left + 'px')
                  .css('top', self.offset().top + this.offsetHeight + 'px');
            }
        });
    }
    function hiddenDv() {
        $('#' + dvc + 0).css('display', 'none');
        $('#' + dvc + 1).css('display', 'none');
        $('#' + dvc + 2).css('display', 'none');
    }
    function setAddress(province, city, zone) {
        if (province != '') {
            getDatas(0, province, false);
            nextDisplay(1, true, false);
            nextDisplay(2, zone != '', false);
            getDatas(1, city, false);
        }
    }
    function getDatas(index, id, clean) {
        if (index < 2 && id != '') {
            for (var i = index + 2; i < 3; i++) {
                var dc = $('#' + dvc + i + ' > div');
                dc.html('');
            }
            var url = '../Ajax/GetAddressListHandler.ashx';
            var contextdata = { action: getAction(index), ID: id };
            var nextc = $('#' + dvc + (index + 1) + ' > div');
            nextc.html(C.Static.getLoadingImage());
            C.Ajax.ajaxRequest(url, { context: contextdata }, {
                timeout: 90000,
                success: function (dataStr) {
                    if (clean) {
                        var add = 1;
                        for (var i = index + add; i < 3; i++) {
                            nextDisplay(i, false, true);
                        }
                    }
                    if (dataStr != '') {
                        var arr = dataStr.split('@');
                        var h = '';
                        for (var i = 0; i < arr.length; i++) {
                            var tmp = arr[i].split('|');
                            h += getActionHtml(tmp[0], tmp[1]);
                        }
                        nextc.html(h);
                        if (h != '') {
                            bindActionEvent(index + 1);
                            nextDisplay(index + 1, true, clean);
                        }
                        else {
                            nextDisplay(index + 1, false, true);
                        }
                    }
                }
            });
        }
    }
    function bindActionEvent(index) {
        $('#' + dvc + index).find('a').bind('mousedown', function () {
            var id = $(this).attr('modId');
            var previd = $('#' + txth + index).value();
            if (id != previd) {
                $('#' + txts + index).value($(this).html());
                $('#' + txth + index).value(id);
                getDatas(index, id, true);
            }
        })
    }
    function nextDisplay(index, show, clean) {
        var ts = $('#' + txts + index);
        var th = $('#' + txth + index);
        if (clean) {
            ts.value('');
            th.value('');
        }
        var dis = show ? '' : 'none';
        ts.css('display', dis);
        container.find('span:eq(' + index + ')').css('display', dis);
    }
    function getAction(index) {
        switch (index) {
            case 0:
                return 'GetCitys';
            default:
                return 'GetCantons';
        }
    }
    function initProvince() {
        var prov = [
            { 'id': 1, 'name': '北京' }, { 'id': 2, 'name': '上海' }, { 'id': 3, 'name': '天津' }, { 'id': 4, 'name': '重庆' }, { 'id': 5, 'name': '黑龙江' },
            { 'id': 6, 'name': '吉林' }, { 'id': 7, 'name': '辽宁' }, { 'id': 8, 'name': '河北' }, { 'id': 9, 'name': '河南' }, { 'id': 10, 'name': '山东' },
            { 'id': 11, 'name': '山西' }, { 'id': 12, 'name': '陕西' }, { 'id': 13, 'name': '甘肃' }, { 'id': 14, 'name': '宁夏' }, { 'id': 15, 'name': '江苏' },
            { 'id': 16, 'name': '浙江' }, { 'id': 17, 'name': '安徽' }, { 'id': 18, 'name': '江西' }, { 'id': 19, 'name': '福建' }, { 'id': 20, 'name': '湖北' },
            { 'id': 21, 'name': '湖南' }, { 'id': 22, 'name': '四川' }, { 'id': 23, 'name': '广东' }, { 'id': 24, 'name': '广西' }, { 'id': 25, 'name': '云南' },
            { 'id': 26, 'name': '贵州' }, { 'id': 27, 'name': '青海' }, { 'id': 28, 'name': '内蒙古' }, { 'id': 29, 'name': '新疆' }, { 'id': 30, 'name': '西藏' },
            { 'id': 31, 'name': '海南' }, { 'id': 32, 'name': '香港' }, { 'id': 33, 'name': '澳门' }, { 'id': 53, 'name': '台湾' }
            ]
        var h = '';
        for (var i = 0; i < prov.length; i++) {
            h += getActionHtml(prov[i].id, prov[i].name);
        }
        initDvHtml(dvc + 0, h);
    }
    function getActionHtml(modId, text) {
        return '<a modId="' + modId + '" href="javascript:void(0);">' + text + '</a>';
    }
    function initDvHtml(id, h) {
        $('#' + id + ' > div').html(h);
    }
    function getShowInput(index) {
        var d = '';
        if (index >= 2) {
            d = ' style="display:none;" '
        }
        return '<input readonly="readonly" class="m_input w02" type="text" id="' + txts + index + '"' + d + ' /><span ' + d + '>' + AddressSelect.text[index] + '</span> ';
    }
    function getHiddenInput(index) {
        return '<input id="' + txth + index + '" type="hidden" value="" />';
    }
    function defaultAddress() {
        nextDisplay(0, true, true);
        nextDisplay(1, true, true);
        nextDisplay(2, false, true);
        initDvHtml(dvc + 1, '');
        initDvHtml(dvc + 2, '');
    }
    function getValues(index) {
        return { 'Id': $('#' + txth + index).value(), 'Name': $('#' + txts + index).value() };
    }
    return {
        text: ['省', '市', '区'],
        init: function (containerselector) { init(containerselector); }, //外部container不能为label
        set: function (province, city, zone) { setAddress(province, city, zone); },
        getProvince: function () { return getValues(0); }, //返回Id,Name格式的json数据
        getCity: function () { return getValues(1); },
        getCanton: function () { return getValues(2); },
        defaultAddress: function () { defaultAddress(); }
    }
} ();
--------------------编程问答-------------------- 呃。。。。这个有一些js是封装过的,直接用不起来。。。。思路就这样 --------------------编程问答--------------------
引用 4 楼 miui520 的回复:
不要说明,要实例通知们......

这语气、牛B了、火星人就是不简单
补充:.NET技术 ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,