Đây là toàn bộ tập lệnh với lệnh gọi AJAX để nhắm mục tiêu một danh sách trong một trang có nhiều danh sách. Không có thứ nào khác ở trên hoạt động với tôi cho đến khi tôi sử dụng thuộc tính "id" mặc dù tên thuộc tính của tôi là "ItemKey". Bằng cách sử dụng trình gỡ lỗi
Gỡ lỗi Chrome
Tôi đã có thể thấy rằng tùy chọn đã chọn có các thuộc tính: với ánh xạ tới "id" của JQuery và giá trị.
<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>
Đây là tệp JSON để tạo ...
{
"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"
}
]
}
Hy vọng điều này sẽ giúp, cảm ơn tất cả các bạn ở trên đã đưa tôi đến nay.