现在的问题是这样的,当我选好地址后就提交他到数据库中去,可是现在怎么修改提交到数据库中的值都是前面的那些编码,就不是后面的文字。要怎么修改才能正确提交后面的文字呢,望知道的达人,能为小弟排忧解难.........
一下是选择框的代码:
<tr>
      <td width="301" height="31"  align="right"></td>
      <td height="31" colspan="2" align="left">上级产地编码:</td>
      <td width="549">省:
      <select name="jpr" id="jpr"><option>请选择</option></select>市:<select name="jci" id="ici"><option>请选择</option></select>县(区):<select
name="jco" id="jco"><option>请选择</option></select><script language="javascript" defer="defer">new PCAS
("jpr","jci","jco","","","");</script></td>
    </tr>
一下是JS代码:
var city_data="";
city_data="010000|请选择,110000|北京市,110100|市辖区,110101|东城区,110102|西城区,110103|崇文区,110104|宣武区,110105|朝阳区,110106|丰台区,110107|石景山区,110108|海淀区,110109|门头沟区,110111|房山区,110112|通州区,110113|顺义区,110114|昌平区,110115|大兴区,110116|怀柔区,110117|平谷区,110200|县,110228|密云县,110229|延庆县,120000|天津市,120100|市辖区,120101|和平区,120102|河东区,120103|河西区,120104|南开区,120105|河北区,120106|红桥区,120107|塘沽区,120108|汉沽区,120109|大港区,120110|东丽区,120111|西青区,120112|津南区,120113|北辰区,120114|武清区,120115|宝坻区,120200|县,120221|宁河县,120223|静海县,120225|蓟县,130000|河北省,130100|石家庄市,130101|市辖区,130102|长安区,130103|桥东区,130104|桥西区,130105|新华区,130107|井陉矿区,130108|裕华区,130121|井陉县,130123|正定县,130124|栾城县,130125|行唐县,130126|灵寿县,130127|高邑县,130128|深泽县,130129|赞皇县,130130|无极县,130131|平山县,130132|元氏县,130133|赵县,130181|辛集市,130182|藁城市,130183|晋州市,130184|新乐市,130185|鹿泉市,130200|唐山市,130201|市辖区,130202|路南区,130203|路北区,130204|古冶区,130205|开平区,130207|丰南区,130208|丰润区,130223|滦县,130224|滦南县,130225|乐亭县,130227|迁西县,130229|玉田县,130230|唐海县,130281|遵化市,130283|迁安市,130300|秦皇岛市,130301|市辖区,130302|海港区,130303|山海关区,130304|北戴河区,130321|青龙满族自治县,130322|昌黎县,130323|抚宁县,130324|卢龙县,130400|邯郸市,130401|市辖区,130402|邯山区,130403|丛台区,130404|复兴区................等等中间的省略 PCAN = city_data.split(",");
        
        
        
        function PCAS() {
            this.SelP = document.getElementsByName(arguments[0])[0];
            this.SelC = document.getElementsByName(arguments[1])[0];
            this.SelA = document.getElementsByName(arguments[2])[0];
            this.DefP = this.SelA ? arguments[3] : arguments[2];
            this.DefC = this.SelA ? arguments[4] : arguments[3];
            this.DefA = this.SelA ? arguments[5] : arguments[4];
            this.SelP.PCA = this;
            this.SelC.PCA = this;
            this.SelP.onchange = function() { PCAS.SetC(this.PCA) };
            if (this.SelA) this.SelC.onchange = function() { PCAS.SetA(this.PCA) };
            PCAS.SetP(this)
        };
        PCAS.SetP = function(PCA) {
      var p_i = 0;
            for (i = 0; i < PCAN.length; i++) {
                //document.write(city_arr[i-1].substring(2,6)+"<br>");
                if (PCAN[i].substring(2, 6) == "0000") {
                    PCAPV = PCAN[i].split('|')[0];
                    PCAPT = PCAN[i].split('|')[1];
                    PCA.SelP.options.add(new Option(PCAPT, PCAPV));
     
                    if (PCA.DefP == PCAPV) PCA.SelP[p_i].selected = true;
      p_i++;
                } 
            }PCAS.SetC(PCA)
        };
        PCAS.SetC = function(PCA) {
            PCA.SelC.length = 1;
    var c_i=0;
            var city1_str = PCA.SelP.value;
            var str_city1 = city1_str / 10000;
            //alert(str_city1);
            for (i = 0; i < PCAN.length; i++) {
                if (PCAN[i].substring(0, 2) == str_city1 && PCAN[i].substring(2, 6) != "0000" && PCAN[i].substring(4, 6) == "00") {
                    PCACV = PCAN[i].split('|')[0];
                    PCACT = PCAN[i].split('|')[1];
                    PCA.SelC.options.add(new Option(PCACT, PCACV));
                    if (PCA.DefC == PCACV) PCA.SelC[c_i+1].selected = true
      c_i++;
                }
            } if (PCA.SelA) PCAS.SetA(PCA)
        };
        PCAS.SetA = function(PCA) {
            PCA.SelA.length = 1;
    var a_i=0;
            var city2_str = PCA.SelC.value;
            var str_city2 = city2_str / 100;
            //alert(str_city1);
            for (i = 0; i < PCAN.length; i++) {
                if (PCAN[i].substring(0, 4) == str_city2 && PCAN[i].substring(4, 6) != "00") {
                    PCAAV = PCAN[i].split('|')[0];
                    PCAAT = PCAN[i].split('|')[1];
                    PCA.SelA.options.add(new Option(PCAAT, PCAAV));
                    if (PCA.DefA == PCAAV) PCA.SelA[a_i+1].selected = true
      a_i++;
                }
            }
        }

解决方案 »

  1.   


       PCAS.SetP = function(PCA) {
          var p_i = 0;
                for (i = 0; i < PCAN.length; i++) {
                    //document.write(city_arr[i-1].substring(2,6)+"<br>");
                    if (PCAN[i].substring(2, 6) == "0000") {
                        PCAPV = PCAN[i].split('|')[0];
                        PCAPT = PCAN[i].split('|')[1];
                        PCA.SelP.options.add(new Option(PCAPT, PCAPV));
         
                        if (PCA.DefP == PCAPV) PCA.SelP[p_i].selected = true;
          p_i++;
                    } 
                }PCAS.SetC(PCA)
            };这段改成下面这样试试。
       PCAS.SetP = function(PCA) {
          var p_i = 0;
                for (i = 0; i < PCAN.length; i++) {
                    //document.write(city_arr[i-1].substring(2,6)+"<br>");
                    if (PCAN[i].substring(2, 6) == "0000") {
                        PCAPV = PCAN[i].split('|')[0];
                        PCAPT = PCAN[i].split('|')[1];
                        PCA.SelP.options.add(new Option(PCAPV, PCAPV));
         
                        if (PCA.DefP == PCAPV) PCA.SelP[p_i].selected = true;
          p_i++;
                    } 
                }PCAS.SetC(PCA)
            };
      

  2.   

    只要是这段
     PCA.SelP.options.add(new Option(PCAPT, PCAPV));按道理来说的话应该全是(PCAPT, PCAPT)才全是对应的文字。试试看先。
    改的话。下面那几个options.add() 都要改的。
      

  3.   

    按照你说的方法试了好几次都没成功,当我把PCA.SelP.options.add(new Option(PCAPV, PCAPV));  改成
     PCA.SelP.options.add(new Option(PCAPT, PCAPV)); 时三级联动就出问题了,只能有省的选择了,其他两个市县就没数据出来了....
      

  4.   


    用这个。http://apps.hi.baidu.com/share/detail/30997084可以用。非要用你的的话。发完整代码出来我改你。
      

  5.   

    这个是省市县三级联动页面代码:
     <tr>
      <td width="301" height="31"  align="right"></td>
          <td height="31" colspan="2" align="left">上级产地编码:</td>
          <td width="549">省:
          <select name="jpr" id="jpr"><option>请选择</option></select>市:<select name="jci" id="ici"><option>请选择</option></select>县(区):<select
    name="jco" id="jco"><option>请选择</option></select><script language="javascript" defer="defer">new PCAS
    ("jpr","jci","jco","","","");</script></td>以下是写入书库代码:
    <?php 
    include ("../conn/conn.php");
    $arSN = $_POST[arSN];
    $arName = $_POST[arName];
    $str = iconv("gbK","UTF-8//IGNORE",$arName); 
    $jpr = $_POST[jpr];
    $jci = $_POST[jci];
    $jco = $_POST[jco];
    $arUpSN = $jpr.$jci.$jco;
    //$arUpSN = $_POST[arUpSN];
    $arIsHide = $_POST[arIsHide];
    $arOrder = $_POST[arOrder];
    mysql_query("insert into tbl_area(arSN,arName,arUpSN,arIsHide,arOrder)values ('$arSN','$str','$arUpSN','$arIsHide','$arOrder')");
    echo "$str";
    echo "$jpr";
    echo "$arUpSN";echo "<script language='javascript'>alert('信息添加成功!');window.location.href='show_area.php';</script>";
    ?>var city_data="";
    city_data="010000|请选择,110000|北京市,110100|市辖区,110101|东城区,110102|西城区,110103|崇文区,110104|宣武区,110105|朝阳区,110106|丰台区,110107|石景山区,110108|海淀区,110109|门头沟区,110111|房山区,110112|通州区,110113|顺义区,110114|昌平区,110115|大兴区,110116|怀柔区鲁木齐县,652828|和硕县,652829|博湖县,652900|阿克苏地区,652901|阿克苏市,652922|温宿县,652923|库车县,652924|沙雅县,652925|新和县,652926|拜城县,652927|乌什县,652928|阿瓦提县,652929|柯坪县,653000|克孜勒苏柯尔克孜自治州,653001|阿图什市,653022|阿克陶县,653023|阿合奇县,653024|乌恰县,653100|喀什地区,653101|喀什市,653121|疏附县,653122|疏勒县,653123|英吉沙县,653124|泽普县,653125|莎车县,653126|叶城县,653127|麦盖提县,653128|岳普湖县,653129|伽师县,653130|巴楚县,653131|塔什库尔干塔吉克自治县,653200|和田地区,653201|和田市,653221|和田县,653222|墨玉县,653223|皮山县,653224|洛浦县,653225|策勒县,653226|于田县,653227|民丰县,654000|伊犁哈萨克自治州,654002|伊宁市,654003|奎屯市,654021|伊宁县,654022|察布查尔锡伯自治县,654023|霍城县,654024|巩留县,654025|新源县,654026|昭苏县,654027|特克斯县,654028|尼勒克县,654200|塔城地区,654201|塔城市,654202|乌苏市,654221|额敏县,654223|沙湾县,654224|托里县,654225|裕民县,654226|和布克赛尔蒙古自治县,654300|阿勒泰地区,654301|阿勒泰市,654321|布尔津县,654322|富蕴县,654323|福海县,654324|哈巴河县,654325|青河县,654326|吉木乃县,659000|省直辖行政单位,659001|石河子市,659002|阿拉尔市,659003|图木舒克市,659004|五家渠市,710000|台湾省,810000|香港特别行政区,820000|澳门特别行政区,910000|国外";
    //填充省级行政单位
             PCAN = city_data.split(",");
            
            
            
            function PCAS() {
                this.SelP = document.getElementsByName(arguments[0])[0];
                this.SelC = document.getElementsByName(arguments[1])[0];
                this.SelA = document.getElementsByName(arguments[2])[0];
                this.DefP = this.SelA ? arguments[3] : arguments[2];
                this.DefC = this.SelA ? arguments[4] : arguments[3];
                this.DefA = this.SelA ? arguments[5] : arguments[4];
                this.SelP.PCA = this;
                this.SelC.PCA = this;
                this.SelP.onchange = function() { PCAS.SetC(this.PCA) };
                if (this.SelA) this.SelC.onchange = function() { PCAS.SetA(this.PCA) };
                PCAS.SetP(this)
            };
            PCAS.SetP = function(PCA) {
          var p_i = 0;
                for (i = 0; i < PCAN.length; i++) {
                    //document.write(city_arr[i-1].substring(2,6)+"<br>");
                    if (PCAN[i].substring(2, 6) == "0000") {
                        PCAPV = PCAN[i].split('|')[0];
                        PCAPT = PCAN[i].split('|')[1];
                        PCA.SelP.options.add(new Option(PCAPT, PCAPV));
         
                        if (PCA.DefP == PCAPV) PCA.SelP[p_i].selected = true;
          p_i++;
                    } 
                }PCAS.SetC(PCA)
            };
            PCAS.SetC = function(PCA) {
                PCA.SelC.length = 1;
        var c_i=0;
                var city1_str = PCA.SelP.value;
                var str_city1 = city1_str / 10000;
                //alert(str_city1);
                for (i = 0; i < PCAN.length; i++) {
                    if (PCAN[i].substring(0, 2) == str_city1 && PCAN[i].substring(2, 6) != "0000" && PCAN[i].substring(4, 6) == "00") {
                        PCACV = PCAN[i].split('|')[0];
                        PCACT = PCAN[i].split('|')[1];
                        PCA.SelC.options.add(new Option(PCACT, PCACV));
                        if (PCA.DefC == PCACV) PCA.SelC[c_i+1].selected = true
          c_i++;
                    }
                } if (PCA.SelA) PCAS.SetA(PCA)
            };
            PCAS.SetA = function(PCA) {
                PCA.SelA.length = 1;
        var a_i=0;
                var city2_str = PCA.SelC.value;
                var str_city2 = city2_str / 100;
                //alert(str_city1);
                for (i = 0; i < PCAN.length; i++) {
                    if (PCAN[i].substring(0, 4) == str_city2 && PCAN[i].substring(4, 6) != "00") {
                        PCAAV = PCAN[i].split('|')[0];
                        PCAAT = PCAN[i].split('|')[1];
                        PCA.SelA.options.add(new Option(PCAAT, PCAAV));
                        if (PCA.DefA == PCAAV) PCA.SelA[a_i+1].selected = true
          a_i++;
                    }
                }
            }[/code]
      

  6.   

    你在new PCAS的时候,你确定传入的控件已经在页面加载了?
    试试把NEW放到页尾