Использование шаблонов jQuery со сложными объектами и получение значений из подколлекций - PullRequest
1 голос
/ 13 января 2011

В моем шаблоне jQuery мне нужно получить значение элемента, который содержится во вложенной коллекции моей структуры данных.

Скажем, у меня есть структура данных, которая выглядит следующим образом:

    <Quote>
      <AgentName></AgentName>
      <AgentId></AgentId>
      <QuoteId></QuoteId>
      <ProductId></ProductId>
      <ProductName></ProductName>
      <Benefits>
        <Benefit>
          <Name>Benefit One</Name>
          <Description>This is benefit One</Description>
          <Value>5000000</Value>
          <ValueComment></ValueComment>
          <Excess>200</Excess>
          <ExcessComment></ExcessComment>
        </Benefit>
        <Benefit>
          <Name>Benefit Two</Name>
          <Description>This is benefit Two</Description>
          <Value>1000</Value>
          <ValueComment></ValueComment>
          <Excess>100</Excess>
          <ExcessComment></ExcessComment>
        </Benefit>
      </Benefits>
      <Price>10.99</Price>
    </Quote>

Затем я могу преобразовать это в строку JSON, которая выглядит следующим образом:

[{"AgentName":null,"AgentId":null,"QuoteId":null,"ProductId":"abc","ProductName":"Standard","Benefits":[{"Name":"Benefit One","Description":"\n This is benefit One \n ","Value":5000000,"ValueComment":null,"Excess":200,"ExcessComment":null},{"Name":"Benefit Two","Description":"\n This is benefit Two\n ","Value":1000,"ValueComment":null,"Excess":100,"ExcessComment":null}],"Price":10.99}

В моем шаблоне jQuery я хочу создать таблицу, в которой будут отображаться идентификатор продукта, название продукта, цена и ТОЛЬКО значение первой выгоды:

<script id="QuoteTemplate" type="text/x-jQuery-tmpl">
    <tr>
      <td valign="middle" style="width: 120px; text-align: left; font-weight:bold" class="quote-row"> ${ProductId} </td>
      <td valign="middle" style="width: 140px; text-align: center; font-weight:bold" class="quote-row"> ${ProductName} </td>

      // Somehow need to query the benefits collection to get only the value of Benefit One
      <td valign="middle" style="width: 140px; text-align: center; font-weight:bold" class="quote-row"> ${   ***ONLY BENEFIT ONE*** .value    } </td>

      <td valign="middle" style="width: 140px; text-align: center; font-weight:bold" class="quote-row"> ${Price} </td>
    </tr>
</script>   

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 22 марта 2011

Здравствуйте, у меня сработало следующее: {{= Benefits [0] .Value}}

По сути, Benefits - это массив, поэтому мы берем первое значение этого массива, равное единице, и показываем Valueсущность

<script id="stackTemplate" type="text/x-jQuery-tmpl">
    <tr>
      <td valign="middle" style="width: 120px; text-align: left; font-weight:bold" class="quote-row"> ${ProductId} </td>
      <td valign="middle" style="width: 140px; text-align: center; font-weight:bold" class="quote-row"> ${ProductName} </td>


                <td valign="middle" style="width: 140px; text-align: center; font-weight:bold" class="quote-row"> {{= Benefits[0].Value}} </td>


      <td valign="middle" style="width: 140px; text-align: center; font-weight:bold" class="quote-row"> ${Price} </td>
    </tr>
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...