首页 > 解决方案 > 如何在jquery响应中迭代多个json数据

问题描述

在此处输入图像描述我从我的 JSON 响应中获取多个数据,如下所示。

WellNames   […]
0   {…}
id  56
well_name   AL HALL
api 34005205550000
1   {…}
id  498
well_name   BONTRAGER
api 34005233850000
2   {…}
id  499
well_name   BONTRAGER
api 34005233860000

我只想迭代所有数据并附加到具有 id 结果的选择框中

我尝试了下面的代码,但在选择标签中得到了未定义的值。请帮我在我的选择标签中显示这个值。

下面是我的jQuery代码

<script type="text/javascript">
 $("#clientname").on('change', function() { 
         ajaxRequest = $.ajax({
         url: '<?= Router::url(['controller' => 'Orders', 'action' => 'getWelldetails']) ?>',
             type: 'POST',
             data: {clientId: $("#clientname").val()},   
             dataType: "json",
            success: function(response) {
                $(response).each(function () {
                    $("<option value='" + response['id'] + "'>" + response['well_name'] + "</option>").appendTo('#result');
                });              
            },
            error: function(response) {         
            }
        });     

 });
 </script>

标签: javascriptjquerydynamic-arrays

解决方案


是的,它是从下面我忘记写的更改中完成的

$(response.WellNames).each(function (i,value) {
                    $("<option value='" + value['id'] + "'>" + value['well_name'] + " - " + value['api'] + "</option>").appendTo('#result');
                });

推荐阅读