Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将getJSON与此代码一起使用_Javascript_Jquery_Html_Json_Getjson - Fatal编程技术网

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

Javascript 如何将getJSON与此代码一起使用,javascript,jquery,html,json,getjson,Javascript,Jquery,Html,Json,Getjson,我刚刚得到这个链式选择框,它使用JSON数据填充选项。数据是硬编码的,但是我想使用$.getJSON方法加载数据,但是我无法正确获取代码。我认为suggest.json文件已触发,但似乎是其他原因导致了问题。有人能告诉我如何解决这个问题吗 我从你那里得到了下拉框 原代码: <script type="text/javascript"> var s = '[{"Box1":"Africa","CODE":1,"ID":"A"},{"Box1":"Asia","CODE":2,"ID"

我刚刚得到这个链式选择框,它使用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>

问题是您必须调用$mySelectID.dynamicDropdown{delimiter:|};仅当getJSON返回数据时

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

$(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有一个错误:最后一项南美有代码和注释代码,根据其他项目

您是从同一个域还是其他域获取json?您在javascript控制台中是否有任何错误?@Evgeniy我从同一个域获取文件。而且似乎触发的很好。请稍等。我设置了两个示例,一个是硬编码数据,一个是使用getJSON方法。@anurupr我设置了两个示例。示例:| | |除了原始硬编码事件中的警告之外,我没有看到任何错误。returnValue已弃用。请改用标准event.preventDefault。除此之外,它工作正常。我测试了您的代码,除了jQueryMySelected之外,所有工作都正常;尝试jquerymyselected.show;我也看到了
[{"Box1":"Africa","CODE":1,"ID":"A"},{"Box1":"Asia","CODE":2,"ID":"B"},{"Box1":"South America","Code":3,"ID":"C"}]
$(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":"|"});

    });
});