日期:2014-05-18  浏览次数:20439 次

jquery取值问题
JScript code

/**
* jQuery :  省市县联动插件
* @author   kxt
* @example  $("#test").province_city_county();
*/
$.fn.province_city_county = function (vprovince, vcity, vtown) {
    var _self = this;
    //定义3个默认值
    _self.data("province", ["请选择", "0"]);
    _self.data("city", ["请选择", "0"]);
    _self.data("county", ["请选择", "0"]);
    //插入3个空的下拉框
    //_self.append("<select id='province' name='province'></select>");
    //_self.append("<select id='city' name='city'></select>");
    //_self.append("<select id='county' name='county'></select>");
    _self.html("<select id='province' name='province' style='width: 80px'></select><select id='city' name='city' style='width: 80px'></select><select id='county' name='county' style='width: 80px'></select>");
    //分别获取3个下拉框
    var $sel1 = _self.find("select").eq(0);
    var $sel2 = _self.find("select").eq(1);
    var $sel3 = _self.find("select").eq(2);
    //默认省级下拉
    if (_self.data("province")) {
        $sel1.append("<option value='" + _self.data("province")[1] + "'>" + _self.data("province")[0] + "</option>");
    }
    $.get('province_city.xml', function (data) {
        var arrList = [];
        $(data).find('province').each(function () {
            var $province = $(this);
            $sel1.append("<option value='" + $province.attr('value') + "'>" + $province.attr('value') + "</option>");
        });
        if (typeof vprovince != undefined) {
            $sel1.val(vprovince);
            $sel1.change();
        }
    });
    //默认城市下拉
    if (_self.data("city")) {
        $sel2.append("<option value='" + _self.data("city")[1] + "'>" + _self.data("city")[0] + "</option>");
    }
    //默认县区下拉
    if (_self.data("county")) {
        $sel3.append("<option value='" + _self.data("county")[1] + "'>" + _self.data("county")[0] + "</option>");
    }
    //省级联动控制
    var index1 = "";
    var provinceValue = "";
    var cityValue = "";
    $sel1.change(function () {
        //清空其它2个下拉框
        $sel2[0].options.length = 0;
        $sel3[0].options.length = 0;
        index1 = this.selectedIndex;
        if (index1 == 0) {    //当选择的为 “请选择” 时
            if (_self.data("city")) {
                $sel2.append("<option value='" + _self.data("city")[1] + "'>" + _self.data("city")[0] + "</option>");
            }
            if (_self.data("county")) {
                $sel3.append("<option value='" + _self.data("county")[1] + "'>" + _self.data("county")[0] + "</option>");
            }
        } else {
            provinceValue = $('#province').val();
            $.get('province_city.xml', function (data) {
                $(data).find("province[value='" + provinceValue + "'] > city").each(function () {
                    var $city = $(this);
                    $sel2.append("<option value='" + $city.attr('value') + "'>" + $city.attr('value') + "</option>");
                });
                cityValue = $("#city").val();
                $(data).find("city[value='" + cityValue + "'] > county").each(function () {
                    var $county = $(this);
                    $sel3.append("<option