当前位置: 首页 > 知识库问答 >
问题:

如何正确地将json结果附加到select选项

白君之
2023-03-14

如何将json结果正确附加到select选项,

json数据样本

Ajax代码:

$.ajax({
        url: 'sessions.php',
        type: 'post',
        datatype: 'json',
        data: { from: $('#datepicker_from').val().trim(), to: $('#datepicker_to').val().trim() },
        sucess: function(data){
            var toAppend = '';
            //if(typeof data === 'object'){
                for(var i=0;i<data.length;i++){
                    toAppend += '<option>'+data[i]['id']+'</option>';
                }
            //}
            $('#sessions').append(toAppend);
        }
    });

html代码:

<p>Sessions: 
<select id="sessions"></select>

我已经设置为我的php文件

header("Content-Type: application/json");

共有3个答案

阎修明
2023-03-14

我希望这将有助于你

for(i=0; i<data.length; i++) {
    $('#sessions').append("<option value="+data[i].id+"/option>");                      
        }
赵兴朝
2023-03-14
success: function(data) {
     var options = "";
     for (var i = 0; i < data.length; i++) {
         options += "<option>" + data[i].id + "</option>";
     }
     $("#sessions").html(options);
 }

如果您的响应在多维数组中,请尝试以下操作

success: function(data) {
    var options = '';
    for (var i = 0; i < data.length; i++) {
        for (var j = 0; j< data[i].length; j++){
            options += '<option value="' + data[i][j].product_id + '">' + data[i][j].name + '</option>';
        }
    }
    $("#products").html(options);
}
丁阎宝
2023-03-14

使用$。每个循环遍历从ajax调用接收的JSON数组。

注意:“success的拼写,您已经编写了success”。

 success: function(data){
            var toAppend = '';
           $.each(data,function(i,o){
           toAppend += '<option>'+o.id+'</option>';
          });

         $('#sessions').append(toAppend);
        }

您可以直接在each循环中附加到DOM,但最好先用string连接,然后再添加到DOM中。这是一个更便宜的操作,因为在这种情况下,您只能访问一次DOM。但在某些复杂的场景中,这可能不起作用。

 类似资料:
  • 我正在尝试从CloudWatch启动StepFunction。当事件源是一个时间表时,这就像一个魅力。但是,当我尝试创建事件模式来观看相应的SNS主题时,CloudWatch看不到它的发布。我尝试了两种默认模式: 并使用arn: 在这两种情况下,当我发布到主题时都没有发生任何事情。我做错了什么?更新:不幸的是,我不明白“事件模式”规则是干什么的,它在其他情况下不起作用——即使事件是从lambda手

  • 问题内容: 我正在尝试将Integer数组添加到Set中,如下所示: 我收到以下错误提示, 其次,我也尝试按照以下步骤进行操作,但仍然出现错误, 如何在Java中正确地将Integer数组添加到Set中?谢谢。 问题答案: 您需要使用包装器类型才能使用 或 手动添加元素,例如 最后,如果您需要保留插入顺序,则可以使用。

  • 问题内容: 我正在尝试创建一个将条目添加到json文件的函数。最终,我想要一个看起来像 等。这就是我所拥有的: 这确实会创建一个条目,例如。但是,如果我再次使用此函数(使用不同的名称和网址),第一个函数将被覆盖。我需要怎么做才能将第二个(第三个…)条目附加到第一个? 编辑 :对此问题的第一个答案和评论已经指出了我在写块中未使用的明显事实。不过,我看不出该怎么做。例如,以下内容显然不会起作用: 问题

  • 如何将 OpenGl 显示器附加到 J 框架,以便在关闭 JFrame 时破坏显示器?这是我到目前为止的代码: 在我进行可运行之前,我已经将开放显示器连接到JFrame。但是在添加可运行的显示器后,显示屏现在显示的尺寸与我的屏幕尺寸相同。我已尝试重新排列 和 但是没有什么变化,opengl显示仍然是相同的大小,当我尝试先关闭JFrame而不是先关闭显示时,我得到了以下错误: 这让我想到我的 我猜这

  • 以前,我遇到了多个Matplotlib图形之间的干涉问题。最后,我发现了一个问题,一些pyplot函数不附加到它们的figure实例,但可以在并行创建的其他figure实例中呈现。 下面是一些示例代码: 上面的例子中的等高线py图函数可以在图1中渲染,但偶尔也会在并行生成的其他图中渲染。那很烦人。有什么方法可以将等高线py图函数附加到图1吗?