php - 解析 JSON 数组并提取选择列表 ID 和值的值

标签 php javascript jquery json

谢谢,我现在通过 json 传递数组并将数据类型设置为 json,按照您的示例如下:

{"car_make_id":"3","car_engine_type":"非涡轮汽油"}{"car_make_id":"3","car_engine_type":"非涡轮柴油"}

但是我的脚本仍然拒绝附加选择选项和值?:

$("select#make").change(function(){
    $('#engine').find('option').remove().end(); //clear the engine ddl
    var make = $(this).find("option:selected").val(); //Need the value not the text - .Text()
    //alert(make);
    //do the ajax call
    $.ajax({
        url:'get-engine.php',
        type:'GET',
        data:{engine:make},
        dataType:'json',
        cache:false,
        success:function(data){                    
//var parsedjson = data=JSON.parse(data);  //no need if data:type json

$.each(data, function(index, item) {


    $("<option/>", {
        value: item.car_make_id,
        text: item.car_engine_type
    }).appendTo("#engine");
});


    }

});
});

似乎无法找到为什么它不会解析数组?

最佳答案

JSON 结构很糟糕,所以真正的问题是修复 JSON 使其符合逻辑。无论如何 您可以在当前的情况下尝试以下操作:

$.ajax({
    url: 'grabdata.php',
    type: 'GET',
    data: {
        type: make
    },
    dataType: "json",
    cache: false,
    success: function (data) {

        $.each(data, function (index, item) {

            for( var key in item ) {}

            $("<option/>", {
                value: key,
                text: item[key]
            }).appendTo("#engine");
        });
    },
    error: function (jxhr) {
        alert(jxhr.responseText);
    }
});

jsfiddle:http://jsfiddle.net/DBg2L/1/

关于php - 解析 JSON 数组并提取选择列表 ID 和值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8456616/

相关文章:

php - 如何使用带有htmlentities的富文本区域并控制数据库的长度

php - 来自静态域或子域的 Symfony2 Assets 资源

php - Laravel Eloquent 验证插入异常?

php - 始终获得正确的日期时间?

javascript - 为什么 JavaScript 会返回那个?

jquery - 如何使用命名空间创建 jQuery 元素方法

php - 在服务器上输出一个文件,因为它是来自 php 的 html

javascript - 2 个关于 Javascript 和 Jquery 的问题

javascript - 将 Vuex 与 Vuelidation 一起使用的正确方法

javascript - 如何使用 jquery 查找匹配选择器类和数据属性