JS二级联动获取XML内相应的地址信息提供选择

itsingfeng 发布于 2016/01/12 09:29
阅读 171
收藏 0

我是想做一个用户添加地址的表单,用了一个网上找的XML文件,JS读取这个文件实现了表单中选择相应省份得到城市,再选择城市得到相应县级市的功能,现在遇到如下问题:

我想post的时候发现给出的option的value值是数字代号,原来JS获取这个需要用数字代号当作依据来联动,那么我提交的时候怎么办?我想往数据库添加的时候是具体省份和城市而不是数字

我想了一个办法,做了三个hidden的 input ,然后用jquery把当前选择的值赋给了input,用这三个input提交,但是问题来了,我选择省份的时候第一个input改变了,是想要的效果,但是第二个input还是停留在上一个option的值,依次下去,第二个选了第三个还是上一次的option值,必须三个都改变一下才能得到想要的结果,而我是希望选了第一个后,三个input都能随即改变,不是每个都要选,这样有问题,例如用户选了省份后发现后面自动出现的城市就是要选的,而不去改变选项,那提交到数据库的城市信息就是上一个省份的城市信息。

可能我表达不清楚,上几个图大家看看,求帮助。谢谢!

这是表单内的HTML代码,因为第一个选择是北京东城

<label for=""><span>*</span>所在地区:</label>
        <select id="province" name=""></select>
        <select id="city" name=""></select>
        <select id="town" name=""></select>
        <input id="s1" type="hidden" name="province" value="北京" />
        <input id="s2" type="hidden" name="city" value="东城" />
        <input id="s3" type="hidden" name="town" value="" />



这是我写的让input随着option改变获取值的jquery
$("select").change(function(){
		$("#s1").val($("#province").find("option:selected").html());
		$("#s2").val($("#city").find("option:selected").html());
		$("#s3").val($("#town").find("option:selected").html());

});



下图是出现问题的情况,选择了省份,但是城市还是上一个选择的值


以下是问题补充:

@itsingfeng:有没有好的实现方法,再求分享一下o(∩_∩)o 谢谢! (2016/01/12 09:39)
@itsingfeng:有人吗? (2016/01/12 12:37)
加载中
返回顶部
顶部