1
I need to take the input city of the form below, use in $input['city'] but does not take. Uf $input['Uf'] takes, below the code.
<select name="uf" id="uf" class="form-control">
<option value="">-- Escolha o Estado --</option>
<select name="city" id="city" class="form-control" data-bind="value: params.city" style="display:none;"></select>
<script> var selectCidades</script>
<script type="text/javascript">
//json � uma variavel 'global'
var json;
//Vamos fazer um Ajax s� de zoas
ajax = new XMLHttpRequest();
//Pega uma um array de estados com array de cidades Cortesia do gitzeiro: @letanure
ajax.open('GET', 'https://gist.githubusercontent.com/letanure/3012978/raw/36fc21d9e2fc45c078e0e0e07cce3c81965db8f9/estados-cidades.json', true);
ajax.send();
ajax.onreadystatechange = function() {
if(ajax.readyState == 4 && ajax.status == 200) {
//Parsea o text para JSON
json = JSON.parse(ajax.responseText);
//Percorre todos os estados
for(i in json.estados){
var estado = json.estados[i];
//Cria a a cidade na tag 'Option'
var option = document.createElement("option");
option.text = estado.nome;
option.value = estado.sigla;
//Insere no Select(uf) as options criadas
var selectUf = document.getElementById("uf");
selectUf.appendChild(option);
}
}
}
//Monitra o evento Change, e assim que ocorrer altera��o, exibe as cidades do mesmo (aproveitando a mesma requisi��o (var json))
document.getElementById('uf').addEventListener('change', function() {
//Pega o Estado que o cara selecionou... Ex: 'SP'
var ufSelecionado = this.value;
//Deixa o Select de Cidades Facil para manipular
var selectCidades = document.getElementById("city");
//Remove todas as cidades (caso esteja trocando)
while (selectCidades.firstChild) {
selectCidades.removeChild(selectCidades.firstChild);
}
//Percorre todo o Loop de estados
for(i in json.estados){
var estado = json.estados[i];
//Caso a sigla seja a mesma selecionada
if(estado.sigla == ufSelecionado){
for(x in estado.cidades){
var cidade = estado.cidades[x];
//Cria a a cidade na tag 'Option'
var option = document.createElement("option");
option.text = cidade;
option.value = x;
//Insere no Select a tag criada
selectCidades.appendChild(option);
//Retira a condi��o de 'Esconder'
selectCidades.style.display = null;
}
//Break loop (Improve performace?)
return false;
}
}
});
</script>
Which part of the code is not working?
– Sam
everything works, I choose and show the cities, what I’m not able to do is take the name of the city. $input['city'] only takes the id.
– user100984
But that’s not in the question code.
– Sam
The $input['city'] is taking value?
– Sam