jQuery getJSON用于解析selectlist并添加到另一个selectlist

jQuery getJSON用于解析selectlist并添加到另一个selectlist,jquery,getjson,Jquery,Getjson,我正在尝试使用jQuery的getJSON解析selectlist。尽管如此,我不确定a是否可能,b是否我做得对——我假设我没有,因为我无法执行getJSON中的任何代码 代码应该从JSON文件中的每个项目中获取值或文本,然后将它们添加到html变量中,最终用JSON中每个项目的值填充Order select 作为旁注,当我手动导航到ChecklistItems/GetOrder/+id时,我得到了JSON just find,因此我假设解析文件时会出现某种问题 Javascript: <

我正在尝试使用jQuery的getJSON解析selectlist。尽管如此,我不确定a是否可能,b是否我做得对——我假设我没有,因为我无法执行getJSON中的任何代码

代码应该从JSON文件中的每个项目中获取值或文本,然后将它们添加到html变量中,最终用JSON中每个项目的值填充Order select

作为旁注,当我手动导航到ChecklistItems/GetOrder/+id时,我得到了JSON just find,因此我假设解析文件时会出现某种问题

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>

您需要这样做:

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);
                });

嗨,伊桑。我更新了上面的代码以反映您建议的更改。我看到它在JSFIDLE上工作,这告诉我getJSON和正在检索的JSON文件之间存在一些问题,因为Order元素中实际上没有任何更改。你能推荐一个好的调试方法吗?或者你注意到我的代码还有其他问题吗?谢谢您,先生。通过记录数据变量来检查控制台。接下来会发生什么?谢谢您的帮助,Ehsan。我没有看到任何添加到控制台的内容,所以可能是.getJSON行本身有问题。。。虽然,我很困惑,因为输入URL会返回一个JSON文件给我,我可以清楚地查看数据。我回来报告我是一个傻瓜。我需要在URL中的ChecklistItems前面加一个“/”。还有,你的回答真的帮了我大忙!非常感谢你!
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);
                });