我尝试使用jQuery的getJSON解析选择列表。虽然,我不确定a)它是否有可能和b)我做得对 - 我认为我没有,因为我无法得到任何要执行的getJSON中的代码。
代码应该从JSON文件中的每个项目中获取值(或文本),然后将它们添加到html变量中,最终使用JSON中每个项目的值填充Order select。
作为旁注,当我导航到" ChecklistItems / GetOrder /" + id手动,我得到JSON只是找到 - 所以我认为这是解析文件的某种问题。
使用Javascript:
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$("#Type").change(function () {
var id = $("select#Type option:selected").attr("value");
var html = "";
$.getJSON("ChecklistItems/GetOrder/" + id, function (data) {
$.each(data, function(index, item) {
console.log(item);
if (item.Selected) {
html += ("<option value='" + item.Value + "' Selected='selected'>" + item.Text + "</option>");
}
else {
html += ("<option value='" + item.Value + "'>" + item.Text + "</option>");
}
});
$("#Order").html(html);
});
});
});
</script>
JSON文件示例:
[{"Selected":false,"Text":"1","Value":"1"},{"Selected":false,"Text":"2","Value":"2"},{"Selected":false,"Text":"3","Value":"3"},{"Selected":true,"Text":"4","Value":"4"}]
答案 0 :(得分:1)
你需要这样做:
var html = "";
$.getJSON("/ChecklistItems/GetOrder/" + id, function (data) {
$.each(data,function(index,item){
console.log(item);
if(item.Selected)
{
html += ("<option value='"+item.Value+"' Selected='selected'>" + item.Text + "</option>");
}
else
{
html += ("<option value='"+item.Value+"'>" + item.Text + "</option>");
}
});
$("#Order").html(html);
});