我使用javascript根据邮政编码自动完成访问者地址,输入邮政编码,脚本填写城市文字字段,街道等。
但是STATE字段必须是一个选项,而不是文本输入。现在我需要调整脚本来填充它
<!-- Translations -->
CEP = Zip Code
Cidade = City
Bairro = Neighborhood
Rua/Av = Street/Avenue
Estado = State
<head>
<script type="text/javascript">
function getEndereco() {
if($.trim($("#cep").val()) != ""){
$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#cep").val(), function(){
if(resultadoCEP["resultado"] != 0){
$("#rua").val(unescape(resultadoCEP["tipo_logradouro"])+" "+unescape(resultadoCEP["logradouro"]));
$("#bairro").val(unescape(resultadoCEP["bairro"]));
$("#cidade_pessoa_fisica").val(unescape(resultadoCEP["cidade"]));
Needs fix ----> $("#estado").val(unescape(resultadoCEP["estado"]));
}else{
return;
}
});
}
}
</script>
</head>
<body>
<!-- Working perfectly -->
<input name="cep" id="cep" maxlength="8" type="text" onBlur="getEndereco()" size="8">
<label for="cidade">Cidade</label>
<span class="w">
<input tabindex="1" class="input" id="cidade_pessoa_fisica" type="text" />
</span>
<label for="bairro">Bairro</label>
<input name="bairro" id="bairro" type="text">
<label for="rua">Rua/Avenida</label>
<input name="rua" id="rua" type="text">
<label for="rua">Numero</label>
<input name="rua" id="rua" type="text">
<!-- Needs FIX -->
<label for="estado">Estado</label>
<select id="estado" style="width:300px;">
<option value="">Selecione</option>
<option value="AC">Acre</option>
<option value="AL">Alagoas</option>
<option value="AP">Amapá</option>
<option value="AM">Amazonas</option>
<option value="BA">Bahia</option>
<option value="CE">Ceará</option>
<option value="DF">Distrito Federal</option>
<option value="ES">Espírito Santo</option>
<option value="GO">Goiás</option>
<option value="MA">Maranhão</option>
<option value="MT">Mato Grosso</option>
<option value="MS">Mato Grosso do Sul</option>
<option value="MG">Minas Gerais</option>
<option value="PA">Pará</option>
<option value="PB">Paraíba</option>
<option value="PR">Paraná</option>
<option value="PE">Pernambuco</option>
<option value="PI">Piauí</option>
<option value="RJ">Rio de Janeiro</option>
<option value="RN">Rio Grande do Norte</option>
<option value="RS">Rio Grande do Sul</option>
<option value="RO">Rondônia</option>
<option value="RR">Roraima</option>
<option value="SC">Santa Catarina</option>
<option value="SP">São Paulo</option>
<option value="SE">Sergipe</option>
<option value="TO">Tocantins</option>
</select>
</body>
状态(estado)必须是一个选项值,因为另一个javascript插件。因为,如果<option value="SP">
= TRUE,它会更改一些jQuery手机掩码以再添加一个数字,因为在此特定状态下,手机还有一个数字。这就是为什么我不能简单地将其改为文字
答案 0 :(得分:0)
此行中有错误:
$("#estado").val(unescape(resultadoCEP["estado"]));
应该是:
$("#estado").val(unescape(resultadoCEP["uf"]));
整个功能:
function getEndereco() {
if ($.trim($("#cep").val()) != "") {
$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#cep").val(), function(){
if(resultadoCEP["resultado"] != 0){
$("#rua").val(unescape(resultadoCEP["tipo_logradouro"])+" "+unescape(resultadoCEP["logradouro"]));
$("#bairro").val(unescape(resultadoCEP["bairro"]));
$("#cidade_pessoa_fisica").val(unescape(resultadoCEP["cidade"]));
$("#estado").val(unescape(resultadoCEP["uf"]));
}else{
return;
}
});
}
}