Descobri que o site http://ip.qq.com/ tem a ligação JS de três níveis do próprio QQ entre províncias e municípios. Então eu pesquisei. A interface dele é a seguinte:
Por que não apenas usar os dados?
Surpreendentemente, o QQ usa JS externo para obter uma ligação de três níveis. JS é o seguinte: http://ip.qq.com/js/geo.js
Como usar:
Copie o código do código da seguinte forma:
<!DOCTYPEhtml>
<html>
<cabeça>
<title>Link de três níveis QQ JS entre províncias e municípios</title>
<!-- Use diretamente os dados de província e cidade do QQ -->
<!--
<script type="text/javascript" src="http://ip.qq.com/js/geo.js"></script>
-->
<script type="text/javascript" src="geo.js"></script>
</head>
<body onload="setup();preselect('Província de Shaanxi');promptinfo();">
<formulário>
<select name="province" id="s1">
<opção></opção>
</selecionar>
<selecione nome="cidade" id="s2">
<opção></opção>
</selecionar>
<selecione nome="cidade" id="s3">
<opção></opção>
</selecionar>
<input id="address" name="address" type="hidden" value="" />
<input onclick="alert(document.getElementById('address').value); return false;" type="submit" value="Enviar" />
</form>
<roteiro>
//Esta função é necessária porque esta função é chamada toda vez que o endereço é alterado em geo.js
função promptinfo()
{
var endereço = document.getElementById('endereço');
var s1 = document.getElementById('s1');
var s2 = document.getElementById('s2');
var s3 = document.getElementById('s3');
endereço.valor = s1.valor + s2.valor + s3.valor;
}
</script>
</body>
</html>