如何将getJSON与此代码一起使用



我刚刚得到了这个链式选择框的工作,它使用 JSON 数据来填充选项。小提琴。数据是硬编码的,但我想使用 $.getJSON() 方法加载数据,但我无法正确获取代码。我认为 suggest.json 文件已触发,但似乎还有其他原因导致了问题。有人可以告诉我如何解决问题吗?

我从这个网站得到了下拉框

原始代码:

<script type="text/javascript">
var s = '[{"Box1":"Africa","CODE":1,"ID":"A"},{"Box1":"Asia","CODE":2,"ID":"B"},{"Box1":"South America","Code":3,"ID":"C"}]';

var jsonData = $.parseJSON(s);
var $select = $('#mySelectID');
$(jsonData).each(function (index, o) {    
    var $option = $("<option/>").attr("value", o.CODE).text(o.Box1 + "|" + o.ID);
    $select.append($option);
});
jQuery("#mySelectID").dynamicDropdown({"delimiter":"|"});
</script>

这是我失败的尝试:

  <script type="text/javascript">
  $.getJSON('suggest.json', function(data){
  var $select = $('#mySelectID');
  $.each(data, function (index, o) {
  var $option = $("<option/>").attr("value", o.CODE).text(o.Box1 + "|" + o.ID);
    $select.append($option);
  });
  });
  jQuery("#mySelectID").dynamicDropdown({"delimiter":"|"});
  </script>

建议.JSON:

[{"Box1":"Africa","CODE":1,"ID":"A"},{"Box1":"Asia","CODE":2,"ID":"B"},{"Box1":"South America","Code":3,"ID":"C"}]

问题是只有当getJSON返回数据时,你才必须调用$("#mySelectID").dynamicDropdown({"delimiter":"|"});

根据您的代码,只需交换插件调用:

$(document).ready(function(){
    $.getJSON('my.json', function(data){
        var $select = $('#mySelectID');
        $.each(data, function (index, o) {
            var $option = $("<option/>").attr("value", o.CODE).text(o.Box1 + "|" + o.ID);
            $select.append($option);
        });
        $("#mySelectID").dynamicDropdown({"delimiter":"|"});
    });
});

顺便说一句,您的 json 有错误:最后一项(南美洲)有"代码",并根据其他项目注意 CODE"

最新更新