通过jQuery获取输出json_encode()的值自定义。?

时间:2011-09-02 17:21:31

标签: javascript jquery arrays each

我在数据库中插入json_encode()的数据,希望在数据库中的行name_units上只获取值units。怎么回事?

这是代码php(json_encode())的输出数据库:
MY_TABLE =>单元=> name_units

  

[{ “名称”: “插口”, “单元”:[{ “name_units”: “萨拉姆”, “price_units”: “74554”, “checkbox_units”:[ “迷你吧”, “mobleman”]}, { “name_units”: “mokhles”, “price_units”: “4851269”, “checkbox_units”:[ “mobleman”, “电视”]},{ “name_units”: “fadat”, “price_units”: “85642”,” checkbox_units “:[” 迷你吧”, “mobleman”, “电视”]}]}]

var dataObj = $(this).closest('form').serialize();

$.ajax({
    type: "POST",
    dataType: 'json',
    url: 'url',
    data: dataObj,
    cache: false,
    success: function(data) {
/////////////////////*HERE/////////////////////
        $.each(data, function(a, b) {
            //alert(b.units[name_units]);
            $('<p id="' + b.units[name_units] + '">' + b.units[name_units] + '</p>').appendTo('.class');
        });
/////////////////////HERE*/////////////////////
    };
})

2 个答案:

答案 0 :(得分:1)

单位是一个数组,因此您需要引用数组中的项目或循环遍历该数组中的所有项目。 b.units[0].name_units

编辑:就像我说的那样,你必须循环使用它们。

$.each(b.units,function(i,unit){
  alert(unit.name_units);
});

如果您愿意,也可以使用for循环。

答案 1 :(得分:1)

试试这个:

$.each(data, function(a, b) {
    $.each(b.units, function(c, d){
        $('<p id="' + d.name_units  + '">' + d.name_units + '</p>').appendTo('.class');
    });
});

此外,最好在此方案中使用jQuery templates