javascript
  • jquery
  • json
  • 2016-07-20 3 views 0 likes 
    0
    $.each([data.bahan,data.detail], function (i, value) { 
        $("select.bahan_asli").clone().insertAfter("#bahan:last").val(value[0].id_bahan).append("<input type='hidden' value='" + value[1].id_detail + "'>"); 
    }); 
    

    Код Json:петля два массива из JSON

    { 
        "bahan": [{ 
         "id_bahan": "4", 
         "nm_jenis": "katun" 
        }, { 
         "id_bahan": "1", 
         "nm_jenis": "katun" 
        }], 
        "detail": [{ 
         "id_detail": "5", 
         "id_model": "3" 
        }, { 
         "id_detail": "6", 
         "id_model": "3" 
        }] 
    } 
    

    Я попробовал этот код. Этот json из моего php-скрипта (создайте json по array to json). Что случилось с этим кодом? Как позвонить value[0].id_bahan и value[1].id_detail?

    ответ

    0

    В этом случае each не подходит ни для каких целей. Я бы пошел с петлей for, когда bahan и detail всегда имеют одинаковую длину.

    for(var i = 0; i < data.bahan.length; i++) { 
        $("select.bahan_asli").clone() 
              .insertAfter("#bahan:last") 
              .val(data.bahan[i].id_bahan) 
              .append("<input type='hidden' value='" + data.detail[i].id_detail + "'>"); 
    } 
    

    Вы можете использовать each в несколько иной путь для него тоже, если вы хотите:

    $.each(data.bahan, function(i, bahan) { 
        $("select.bahan_asli").clone() 
              .insertAfter("#bahan:last") 
              .val(bahan.id_bahan) 
              .append("<input type='hidden' value='" + data.detail[i].id_detail + "'>"); 
    }) 
    

    Working example.

    Смежные вопросы