Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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 从PHP或JS中的json文件构建select_Javascript_Php_Json - Fatal编程技术网

Javascript 从PHP或JS中的json文件构建select

Javascript 从PHP或JS中的json文件构建select,javascript,php,json,Javascript,Php,Json,如何从这样的json文件构建select { "AF": "Afghanistan", "AL": "Albania", "DZ": "Algeria", "AS": "American Samoa", ... } 我正试着做这样的事情: <select> <option value="AF">Afghanistan</option> <option value="AL">Albania</o

如何从这样的json文件构建select

{
    "AF": "Afghanistan",
    "AL": "Albania",
    "DZ": "Algeria",
    "AS": "American Samoa",
    ...
}
我正试着做这样的事情:

<select>
  <option value="AF">Afghanistan</option>
  <option value="AL">Albania</option>
</select>

谢谢。

这将在PHP中实现这一点。获取JSON编码的字符串并将其转换为PHP数组。然后在数组上迭代以生成所有选择选项

<?php

$json = '{
    "AF": "Afghanistan",
    "AL": "Albania",
    "DZ": "Algeria",
    "AS": "American Samoa"
}';

$decoded = json_decode($json, true)
?>

</select>   
    <?  foreach($decoded as $key => $value){?>

        <option value="<? echo $key; ?>"><? echo $value; ?></option>

    <?  }   ?>

<select>

如果您使用的是Javascript,那么应该使用Ajax获取JSON数据。然后假设我们已经有了数据JSON,您可以使用循环来处理它,例如:

变量json_数据={ 空军:阿富汗, AL:阿尔巴尼亚, DZ:阿尔及利亚, AS:美属萨摩亚 }; var select=document.queryselector或myselect; json_数据中的forvar countryCode{ var option=新选项JSON_数据[countryCode],countryCode; 选择.appendChildoption; }
不要在回答中使用短标记,它们可能未在用户系统上启用。不知道querySelector,+1
var myJason = {"AF": "Afghanistan","AL": "Albania","DZ": "Algeria","AS": "American Samoa"}



$.each(myJson,function(key,val) {
$('#mySelect').append('<option value="'+ key + '">' + val + '</option>');
});