Use JQUERY / JSON para preencher automaticamente caixas suspensas selecionadas
OK, passei muito tempo examinando exemplos, mas não consegui encontrar um que me ajudasse o suficiente para a minha situação. Eu tenho um arquivo JSON, simplificado para este exemplo:
{
"Company":[
{
"Position": "Manager",
"Name": {
"11": "joe",
"12": "bill",
"166": "John"
}
},
{
"Position": "Tech",
"Name": {
"11": "Bob",
"12": "Cindy",
"166": "Karl"
}
},
{
"Position": "Sales",
"Name": {
"11": "Sam",
"12": "Ron",
"166": "Sara"
}
}
]}
Eu estou tentando criar 2 caixas de seleção. Quando o usuário seleciona a primeira caixa de posições, preencherá automaticamente o segundo com os atributos (nomes). Então, aqui está o que eu tenho até agora:
<select id="job"></select>
<select id="name"></select>
e o código:
$select = $('#job');
$select2 = $('#name');
$.ajax({
url: 'factors.json',
dataType: 'JSON',
success: function(data) {
$select.html('');
$.each(data.Company, function(key, val) {
$select.append('<option id="' + key + '">' + val.Position + '</option>');
$("#job").change(function() {
$.each(val.Name, function(key2, val2) {
$select2.append('<option id="' + key2 + '">' + val2 + '</option>');
})
})
})
},
});
Este código preenche automaticamente a segunda caixa com TODOS os nomes em todas as posições. Eu não consigo descobrir como preenchê-lo com os nomes de cada objeto único. Obrigado por qualquer ajuda!