[英]Pushing an array in js doesn't look to work properly
$Flight = array
(
'1' => array
(
'5' => array
(
'LFID' => '6684',
'DepartureDate' => '2012-10-22T12:30:00',
'ArrivalDate' => '2012-10-22T14:00:00',
'BaseFareAmtInclTax' => '343.50',
'ReturnFlightSegmentDetails' =>
array
(
'87' => array
(
'LFID' => '6647',
'DepartureDate' => '2012-10-24T12:25:00',
'FareTypeName' => 'Change',
'FareTypeID' => '22',
'BaseFareAmtInclTax' => '198',
)
)
),
'10' => array
(
'LFID' => '6684',
'DepartureDate' => '2012-10-23T12:30:00',
'ArrivalDate' => '2012-10-23T14:00:00',
'BaseFareAmtInclTax' => '243.50',
'ReturnFlightSegmentDetails' =>
array
(
'150' => array
(
'LFID' => '6647',
'DepartureDate' => '2012-10-24T12:25:00',
'FareTypeName' => 'Change',
'FareTypeID' => '22',
'BaseFareAmtInclTax' => '198',
),
'153' => Array
(
'LFID' => '6647',
'DepartureDate' => '2012-10-26T12:25:00',
'FareTypeName' => 'Change',
'FareTypeID' => '22',
'BaseFareAmtInclTax' => '198',
)
)
)
),
);
我的控制器中有這個數組,它被傳遞給我的樹枝,在那里我執行以下代碼將其解析為一個 js 數組:
{% for flight in flights%}
var $FlightSegment = new Array();
$flight.push({
key:"{{ flight.key }}",
DepartureDate:"{{flight.DepartureDate}}",
ArrivalDate:"{{flight.ArrivalDate}}",
Amount:"{{flight.BaseFareAmtInclTax}}",
});
{% for ReturnFlightSegmentDetails in flight.ReturnFlightSegmentDetails %}
$FlightSegment.push({
LFID :"{{ReturnFlightSegmentDetails.LFID}}",
DepartureDate:"{{ReturnFlightSegmentDetails.DepartureDate}}",
ArrivalDate:"{{ReturnFlightSegmentDetails.BaseFareAmtInclTax}}",
Class:"{{ReturnFlightSegmentDetails.FareTypeName}}",
});
{% endfor %}
console.info($FlightSegment);
$flight.push({
ReturnFlightSegmentDetails :$FlightSegment,
});
{% endfor %}
問題是 $flight.length 返回 4 而不是 2,ReturnFlightSegmentDetails 被認為是一個對象,而不是航班的屬性。
您需要以不同的方式構建“飛行”對象; 真的不需要“$FlightSegment”變量。
{% for flight in flights%}
$flight.push({
key: "{{ flight.key }}",
DepartureDate: "{{flight.DepartureDate}}",
ArrivalDate: "{{flight.ArrivalDate}}",
Amount: "{{flight.BaseFareAmtInclTax}}",
ReturnFlighSegmentDetails: [
{% for ReturnFlightSegmentDetails in flight.ReturnFlightSegmentDetails %}
{
LFID :"{{ReturnFlightSegmentDetails.LFID}}",
DepartureDate:"{{ReturnFlightSegmentDetails.DepartureDate}}",
ArrivalDate:"{{ReturnFlightSegmentDetails.BaseFareAmtInclTax}}",
Class:"{{ReturnFlightSegmentDetails.FareTypeName}}"
}
{% if not loop.last } , {% endif }
{% endfor %}
]
});
{% endfor %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.