Aquí es todo el guión con una llamada AJAX para apuntar a una lista única dentro de una página con varias listas. Ninguna de las otras cosas anteriores funcionó para mí hasta que utilicé el atributo "id" aunque mi nombre de atributo es "ItemKey". Al utilizar el depurador
Chrome Debug
pude ver que la opción seleccionada tenía atributos: con un mapa para el "id" jQuery y el valor.
<html>
<head>
<script type="text/JavaScript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<select id="List1"></select>
<select id="List2">
<option id="40000">List item #1</option>
<option id="27888">List item #2</option>
</select>
<div></div>
</body>
<script type="text/JavaScript">
//get a reference to the select element
$select = $('#List1');
//request the JSON data and parse into the select element
$.ajax({
url: 'list.json',
dataType:'JSON',
success:function(data){
//clear the current content of the select
$select.html('');
//iterate over the data and append a select option
$.each(data.List, function(key, val){
$select.append('<option id="' + val.ItemKey + '">' + val.ItemText + '</option>');
})
},
error:function(){
//if there is an error append a 'none available' option
$select.html('<option id="-1">none available</option>');
}
});
$("#List1").change(function() {
var optionSelected = $('#List1 option:selected').attr('id');
$("div").text(optionSelected);
});
</script>
</html>
Aquí está el archivo JSON para crear ...
{
"List":[
{
"Sort":1,
"parentID":0,
"ItemKey":100,
"ItemText":"ListItem-#1"
},
{
"Sort":2,
"parentID":0,
"ItemKey":200,
"ItemText":"ListItem-#2"
},
{
"Sort":3,
"parentID":0,
"ItemKey":300,
"ItemText":"ListItem-#3"
},
{
"Sort":4,
"parentID":0,
"ItemKey":400,
"ItemText":"ListItem-#4"
}
]
}
Espero que esto ayude, gracias a todos por encima de por conseguirme este momento.
lo digas a nadie "YOU ROCK !!!" ¡Bueno, creo que soy el primero! – curiousBoy