Доступ к родительскому элементу внутри цикла в jsrender

<select id="Test" TestAttr="{{:LocationId}}">              
       {{for #parent.parent.data.Location}}                         
                  <option value="{{:LocationId}}" {{if LocationId= *#parent.parent.data.LocationId*}}selected{{/if}}>{{:#parent.parent.data.LocationId}}</option>                            
       {{/for}}
</select>

Как получить LocationId родительского массива внутри оператора if, который упоминается между **.


person Pradeep    schedule 03.01.2013    source источник
comment
Если я укажу {{:#parent.parent.data.LocationId}} внутри тега option, я смогу увидеть его значение. Но я хочу использовать то же самое в операторе if.   -  person Pradeep    schedule 03.01.2013
comment
Местоположение — это дочерний массив, в котором есть значения для создания раскрывающегося списка.   -  person Pradeep    schedule 03.01.2013


Ответы (1)


Вы можете ввести переменную, которая будет видна внутри цикла (в официальной документации: Установка параметров контекстного шаблона, доступных во всех вложенных контекстах как ~nameOfParameter)

<select id="Test" TestAttr="{{:LocationId}}">  
    {{for #parent.parent.data.Location ~locationId=LocationId}}
       <option value="{{:~locationId}}"...


ОТРЕДАКТИРОВАННЫЙ ПОСТСКРИПТ:

Приведенная выше ссылка относится к предыдущей документации, которая теперь заменена.

Актуальную документацию см. в разделе Доступ к родительским данным.

См. также этот вопрос stackoverflow

person Sergii    schedule 04.01.2013
comment
Спасибо за ответ. Как мне использовать это в операторе if? - person Pradeep; 04.01.2013
comment
{{если LocationId == ~locationId }} - person Sergii; 04.01.2013