2014-11-12 3 views
0

나는 일부 데이터 생성 다음 나뭇 가지 루프 않은 : 그래서 수행하여나뭇 가지 루프는

{% for reservationDate, rooms in data.pricingTable %} 
     <tr> 

      <td> 
       {% for room in rooms %} 

        <tr> 
         <td class="date"><p>{{ reservationDate }}</p></td> 
         <td class="roomType"> 
          <p> 
           {{ room.description }} ({{ room.bathroomDescription }} {{ 'ROOMDETAILSBATHROOM'|trans }}) 
          </p> 
         </td> 
         <td class="people"> 
          <p> 
           {{ room.noPeople }} 
          </p> 
         </td> 
         <td class="pricePerPerson"> 
          <p> 
           {{ room.pricePerPerson }}<span>{{ room.currency }}</span> 
          </p> 
         </td> 
         <td class="total"> 
          <p> 
           {{ room.total }}<span>{{ room.currency }}</span> 
          </p> 
         </td> 
        </tr> 
       {% endfor %} 
      </td> 
     </tr> 
    {% endfor %} 

을 :

<td class="date"><p>{{ reservationDate }}</p></td> 

는 얼마나 많은에 따라 여러 번 반복됩니다 :

{{ room.description }} ({{ room.bathroomDescription }} {{ 'ROOMDETAILSBATHROOM'|trans }}) 

이 생성됩니다.

"rowspan"을 사용하려고했지만 동적 값을 사용하여 삽입 할 것을 암시하므로 실제로 원하지 않는 JS 솔루션입니다.

<td class="date"><p>{{ reservationDate }}</p></td> 

에 관계없이 얼마나 많은 :

하나를 가지고 있나요이 작동하는 것 같다

{{ room.description }} ({{ room.bathroomDescription }} {{ 'ROOMDETAILSBATHROOM'|trans }}) 

하지만, 결과의 각 세트에 빈 행을 생성합니다

   {% for room in rooms %} 

        <tr> 
         <td class="date"> 
         {% if loop.first %} 
          <p>{{ reservationDate }}</p> 
         {% endif %} 
         </td> 
         <td class="roomType"> 
          <p> 
           {{ room.description }} ({{ room.bathroomDescription }} {{ 'ROOMDETAILSBATHROOM'|trans }}) 
          </p> 
         </td> 
         <td class="people"> 
          <p> 
           {{ room.noPeople }} 
          </p> 
         </td> 
         <td class="pricePerPerson"> 
          <p> 
           {{ room.pricePerPerson }}<span>{{ room.currency }}</span> 
          </p> 
         </td> 
         <td class="total"> 
          <p> 
           {{ room.total }}<span>{{ room.currency }}</span> 
          </p> 
         </td> 
        </tr> 
       {% endfor %} 

은 루프에서 생성 되었습니까?

감사

답변

0

당신이 코드를 jQuery를 사용할 수 있습니다 http://jsfiddle.net/eyrexwb6/

+0

안녕하세요, 가능하지만 가능한 경우 HTML 솔루션을 선호합니다. – Alex

+0

나뭇 가지가 어떻게 작동하는지 잘 모르시겠습니까? http://twig.sensiolabs.org/doc/advanced.html#filters 여기를보고 중복 된 것을 필터링하거나 forloop 내부에있는 경우에만 넣을 수 있습니다. 구유? – Stefan

+0

질문은 jQuery가 아닌 나뭇 가지와 관련이 있습니다. – NHG

3

당신은 루프를 사용할 수 있습니다

$('.date').not(':last').remove(); 

이를 automaticly이 jsfiddle처럼

모든 중복을 제거합니다 변수는 과 비슷한 것을 만듭니다.

{% for room in rooms %} 

    ... 

    {% if loop.first %} 
     <td class="date"><p>{{ reservationDate }}</p></td> 
    {% endif %} 

    ... 

{% endfor %} 

loop.length과 함께 사용할 경우 변수가 rowspan 인 경우도 있습니다.

+0

나는이 해결책을 체크 아웃 할 것이다 :) – Alex