Jquery шаблон каждого тега: рендеринг нескольких полей выбора с помощью - PullRequest
0 голосов
/ 18 октября 2011

Я использую jquery для каждого тега для рендеринга данных json с сервера в качестве поля выбора.Например:

$('#dogsBox').append(  $.toxmpl("{{each dogs}}<option value='${$value.id}'>${$value.name}</option>{{/each}}",data) 

$('#catsBox').append(  $.tmpl("{{each cats}}<option value='${$value.id}'>${$value.name}</option>{{/each}}",data)

$('wolvesBox').append(  $.tmpl("{{each wolves}}<option value='${$value.id}'>${$value.name}</option>{{/each}}",data)

Если предположить, что собаки, кошки и волки являются объектами других объектов-животных, как я могу сделать это универсальным?Что я должен заменить на «?????»в приведенном ниже сценарии.

животные: [собаки: ..., кошки: ...., волки: ...]

    for(var animalName in animals){
    $("#"+animalName).append(  $.tmpl("{{each ????? }}<option value='${$value.id}'>${$value.name}</option>{{/each}}", animals );

}

Оставив параметр для каждого пробела и передавживотные [animalName], так как данные тоже не работают.

Спасибо, Крис.PS: я использую каждый из них, потому что он работает и с объектами, а не только со списками.

1 Ответ

1 голос
/ 18 октября 2011
for(var animalName in animals){
    $.each(animals[animalName], function(key, val){
            $("#"+animalName ).append(  $.tmpl("<option value='${id}'>${name}</option>", val)  );
        }
    );
...