ASP .NET - Popular um elemento SELECT com dados JSON via Javascript
Hoje vamos recordar como preencher um elemento SELECT com dados JSON via JavaScript uma aplicação ASP .NET Web Forms. |
Preencher um SELECT com dados é uma tarefa bem simples que pode ser feita de dezenas de formas diferentes.
Hoje vamos recordar como usar JavaScript para ler um array de dados JSON e preencher um elemento SELECT usando JavaScript puro.
Os dados que iremos ler estão contidos em um array no formato JSON:
var estados = [
{
"ID": "001",
"Nome": "São Paulo"
},
{
"ID": "002",
"Nome": "Rio de Janeiro"
},
{
"ID": "003",
"Nome": "Minas Gerais"
},
{
"ID": "004",
"Nome": "Curitiba"
},
{
"ID": "005",
"Nome": "Porto Alegre"
},
];
|
Então mãos à obra...
Criando o projeto ASP .NET WEB Forms no VS 2017
Abra o VS 2017 Community e selecione File ->New Project; (ou crie apenas um arquivo HTML)
Selecione Web e o template ASP .NET Web Application e informe o nome Asp_LeCSV e clique em OK;
A seguir inclua uma página Web Form com o nome Index.html no projeto.
Abra o arquivo Index.html e inclua o código abaixo:
<html>
<head>
<title>Vincular elemento SELECT com JSON via JavaScript</title>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin="anonymous"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
<script>
function popularSelect() {
// O Array JSON
var estados = [
{
"ID": "001",
"Nome": "São Paulo"
},
{
"ID": "002",
"Nome": "Rio de Janeiro"
},
{
"ID": "003",
"Nome": "Minas Gerais"
},
{
"ID": "004",
"Nome": "Curitiba"
},
{
"ID": "005",
"Nome": "Porto Alegre"
},
];
var ele = document.getElementById('sel');
for (var i = 0; i < estados.length; i++) {
// Popular SELECT com JSON.
ele.innerHTML = ele.innerHTML +
'<option value="' + estados[i]['ID'] + '">' + estados[i]['Nome'] + '</option>';
}
}
function show(ele) {
// Obtém o valor Selecionado a partir do elemento <select> e exibe
var msg = document.getElementById('msg');
msg.innerHTML = 'Estado selecionado: <b>' + ele.options[ele.selectedIndex].text + '</b> </br>' +
'ID: <b>' + ele.value + '</b>';
}
</script>
</head>
<body>
<p>
<input type="button"
class="btn btn-info"
onclick="popularSelect()"
value="Popular SELECT via JSON" />
</p>
<select class="custom-select" id="sel" onchange="show(this)">
<option value="">-- Selecione o estado --</option>
</select>
<p id="msg"></p>
</body>
</html>
|
No código estamos incluindo as referências CDN ao bootstrap para aplicarmos um estilo no botão e no SELECT.
A seguir preenchemos o elemento SELECT com dados do array JSON e a seguir definimo a função para exibir o elemento selecionado.
Executando o projeto iremos obter o seguinte resultado:
Simples assim...
Pegue o projeto aqui : Aspn_JsonDropdown.zip (sem as referências)
"E
disse-lhe um: Senhor, são poucos os que se salvam? E ele lhe respondeu:
Porfiai por entrar pela porta estreita; porque eu vos digo que muitos procurarão
entrar, e não poderão."
Lucas 13:23,24
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET