使用Json对象编辑下拉列表

时间:2013-05-08 08:29:43

标签: php javascript ajax json

我的项目中有类别下拉列表,例如

<select name="salescategory_id" id="salescategory_id">
 <option value="">Sales Category</option>
 <option value="1">HPC</option>
 <option value="2">BTY</option>
 <option value="3">GRO</option>
 <option value="4">OTH</option>
 </select>

我必须用json编辑这个列表。我使用以下方法编辑此列表和其他表单字段:

function editamazonresearch(id)
{
    $.ajax({
        type: "GET", 
        url: '<?php echo SITE_URL;?>products/list/' + id, 
        success: function(data){ 

            $("#title").val(json_data_object.data.amazontitle);
            options = '<option value="' + json_data_object.Salecategory.id + '">' + json_data_object.Salecategory.salescategory + '</option>';
            $("select#salescategory_id").html(options);

            $("#usercomment").val(json_data_object.data.usercomment);           
        } 
    }); 
}

但是这行代码没有给出我的愿望,因为它在编辑时删除了其他选项值。

1 个答案:

答案 0 :(得分:1)

从您的javascript看,您似乎没有循环遍历产品列表并添加任何内容。

您只是将select#salescategory_id的内容替换为options字符串

从你的问题我希望更像是

$.each(data, function(k, v) {
    option = '<option value="' + v.Salecategory.id + '">' + v.Salecategory.salescategory + '</option>';
    $("select#salescategory_id").append(option);
});
您的success方法

中的

但是在不知道你的ajax调用响应的数据结构的情况下,很难猜到你想要做什么