繁体   English   中英

将JSON项目数组添加到列表框中

[英]Adding an array of JSON items into a list box

当用户从select_level下拉框中选择一个值时,函数将返回要插入多选列表的JSON值数组。 当前,代码仅采用数组中的第一项并将其添加到列表中,但是我需要采用数组中的所有值并将它们作为不同选项添加到列表中。 做到这一点的最佳方法是什么?

这是当前的代码:

<script>
$(document).ready(function(){
    $("#select_level<?php echo $id;?>").change(function(){      
            var level   = $("#select_level<?php echo $id;?>").val();
            var user_id = <?php echo $_REQUEST['user_id']?>;
            $.ajax({
                url:"./ajax_spdata.php?level="+level+"&user_id="+user_id+"&ajax=spdata",
                dataType:"json"
            }).success(function(data){
$("#spdata_level<?php echo $id;?>").html('<option value='+data[0]+'>'+data[0]+'</option>');
            });

    });
});
</script>

这是在spdata.php中执行的内容

if($level == 0){
                $spdata_array[] = "Value 1";
                $spdata_array[] = "Value 2";
                $spdata_array[] = "Value 3";
                $spdata_array[] = "Value 4";
    }
        if($level == 1){
                $spdata_array[] = "Value 5";
                $spdata_array[] = "Value 6";
                $spdata_array[] = "Value 7";
                $spdata_array[] = "Value 8";
    }
echo json_encode($spdata_array, JSON_FORCE_OBJECT);

如果他们从select_level下拉列表中选择1,则返回以下内容:

对象{1:“值1”,2:“值2”,3:“值3”,4:“值4”}

尝试使用$.each()

$.each(data, function(key, value) {
  $("<option>", {value:value, html:value}).appendTo("#spdata_level")
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM