我使用jQuery $ .get將一些json數據帶出php。它看起來像這樣:在JSON數據中尋址多個級別
[{
"itemNumber_1": "1",
"partNumber_1": "U1234567890-XYZ",
"description_1": "front label",
"artworkFee_1": "35.00",
"expediteDelivery_1": "55.00",
"height_1": "1.27",
"width_1": "5.05",
"edgeColorNumber_1": "3",
"pmsColorNumber_1": "0",
"cutoutNumber_1": "5",
"adhesiveFreeNumber_1": "0",
"clearWindowNumber_1": "0",
"barcodeNumber_1": "0",
"serialNumber_1": "0",
"replaceablesNumber_1": "0",
"yAxisSpacing_1": "0.10",
"xAxisSpacing_1": "0.10",
"borderSpacing_1": "0.10",
"scrapFactor_1": "5.00"
},
{
"itemNumber_2": "2",
"partNumber_2": "1234567890-ABC",
"description_2": "back label",
"artworkFee_2": "0.00",
"expediteDelivery_2": "0.00",
"height_2": "1.25",
"width_2": "4.00",
"edgeColorNumber_2": "2",
"pmsColorNumber_2": "1",
"cutoutNumber_2": "2",
"adhesiveFreeNumber_1": "1",
"clearWindowNumber_2": "1",
"barcodeNumber_1": "0",
"serialNumber_2": "0",
"replaceablesNumber_2": "0",
"yAxisSpacing_2": "0.10",
"xAxisSpacing_2": "0.10",
"borderSpacing_2": "0.10",
"scrapFactor_2": "5.00"
}]
我通過它試圖循環類似於通過2維數組循環,但是當我使用一個可變密鑰失敗[I],而不是硬編碼的數字鍵[1 ]。
function useExistingQuoteToFillForm(){
$.get('includes/getQuoteSessionVariables.php', function(response){
var js_JSONobject = JSON.parse(response);
$("#1 input[name='width_1']").attr("value", js_JSONobject[0]['width_1']);
$("#1 input[name='height_1']").attr('value', js_JSONobject[0]['height_1']);
$("#1 input[name='artworkSetup_1']").attr('value', js_JSONobject[0]['artworkSetup_1']);
$("#1 input[name='expedite_1']").attr('value', js_JSONobject[0]['expedite_1']);
$("#1 input[name='partNumber_1']").attr('value', js_JSONobject[0]['partNumber_1']);
$("#1 input[name='description_1']").attr('value', js_JSONobject[0]['description_1']);
$("#1 select[name='lexan_1']").val(js_JSONobject[0]['lexan_1']);
$("#1 select[name='vinyl_1']").val(js_JSONobject[0]['vinyl_1']);
$("#1 select[name='polyester_1']").val(js_JSONobject[0]['polyester_1']);
$("#1 select[name='xAxisSpacing_1']").val(js_JSONobject[0]['xAxisSpacing_1']);
$("#1 select[name='yAxisSpacing_1']").val(js_JSONobject[0]['yAxisSpacing_1']);
$("#1 select[name='borderSpacing_1']").val(js_JSONobject[0]['borderSpacing_1']);
$("#1 select[name='scrapFactor_1']").val(js_JSONobject[0]['scrapFactor_1']);
$("#1 select[name='colors_1']").val(js_JSONobject[0]['edgeColorNumber_1']);
$("#1 select[name='colorMatch_1']").val(js_JSONobject[0]['pmsColorNumber_1']);
$("#1 select[name='cutOut_1']").val(js_JSONobject[0]['cutOutNumber_1']);
$("#1 select[name='seeThru_1']").val(js_JSONobject[0]['seeThruNumber_1']);
$("#1 select[name='barCode_1']").val(js_JSONobject[0]['barCodeNumber_1']);
$("#1 select[name='serialNumbers_1']").val(js_JSONobject[0]['serialNumbers_1']);
$("#1 select[name='replaceable_1']").val(js_JSONobject[0]['replaceablesNumber_1']);
$("#1 select[name='adhesiveFree_1']").val(js_JSONobject[0]['adhesiveFree_1']);
// end panel 1
// if more than one item panel
if (Object.keys(js_JSONobject).length > 1) {
// loop thru object for item panel data
for(var i = 1; i < Object.keys(js_JSONobject).length; i++){
var y = i + 1;
addItem();
setTimeout(function(){ // needs a small delay while the new panel comes up
// this hardcoded numeric key works
$("#" + y + " input[name='width_" + y + "']").attr("value", js_JSONobject[1]['width_'+ y]);
// when I switch to using a variable key it fails to proceed
$("#" + y + " input[name='height_'" + y + "']").attr('value', js_JSONobject[i]['height_' + y]);
$("#" + y + " input[name='artworkSetup_'" + y + "']").attr('value', js_JSONobject[i]['artworkSetup_' + y]);
$("#" + y + " input[name='expedite_'" + y + "']").attr('value', js_JSONobject[i]['expedite_' + y]);
$("#" + y + " input[name='partNumber_'" + y + "']").attr('value', js_JSONobject[i]['partNumber_' + y]);
$("#" + y + " input[name='description_'" + y + "']").attr('value', js_JSONobject[i]['description_' + y]);
$("#" + y + " select[name='lexan_'" + y + "']").val(js_JSONobject[i]['lexan_' + y]);
$("#" + y + " select[name='vinyl_'" + y + "']").val(js_JSONobject[i]['vinyl_' + y]);
$("#" + y + " select[name='polyester_'" + y + "']").val(js_JSONobject[i]['polyester_' + y]);
$("#" + y + " select[name='xAxisSpacing_'" + y + "']").val(js_JSONobject[i]['xAxisSpacing_' + y]);
$("#" + y + " select[name='yAxisSpacing_'" + y + "']").val(js_JSONobject[i]['yAxisSpacing_' + y]);
$("#" + y + " select[name='borderSpacing_'" + y + "']").val(js_JSONobject[i]['borderSpacing_' + y]);
$("#" + y + " select[name='scrapFactor_'" + y + "']").val(js_JSONobject[i]['scrapFactor_' + y]);
$("#" + y + " select[name='colors_'" + y + "']").val(js_JSONobject[i]['edgeColorNumber_' + y]);
$("#" + y + " select[name='colorMatch_'" + y + "']").val(js_JSONobject[i]['pmsColorNumber_' + y]);
$("#" + y + " select[name='cutOut_'" + y + "']").val(js_JSONobject[i]['cutOutNumber_' + y]);
$("#" + y + " select[name='seeThru_'" + y + "']").val(js_JSONobject[i]['seeThruNumber_' + y]);
$("#" + y + " select[name='barCode_'" + y + "']").val(js_JSONobject[i]['barCodeNumber_' + y]);
$("#" + y + " select[name='serialNumbers_'" + y + "']").val(js_JSONobject[i]['serialNumbers_' + y]);
$("#" + y + " select[name='replaceable_'" + y + "']").val(js_JSONobject[i]['replaceablesNumber_' + y]);
$("#" + y + " select[name='adhesiveFree_'" + y + "']").val(js_JSONobject[i]['adhesiveFree_' + y ]);
}, 3000);
}
}
});
}
很顯然,我在這個新的,我不理解的東西。誰能幫忙?
-Ve vote。這不是一個答案。考慮評論而不是基本查詢的答案。 –