当用户从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”}
答案 0 :(得分:1)
尝试使用$.each()
$.each(data, function(key, value) {
$("<option>", {value:value, html:value}).appendTo("#spdata_level")
})