@zlFast

Как сгенерировать html при помощи jquery?

Есть массив с объектами:
[{id: 1, label: 'test'},{id: 2, label: 'test1'},{id: 3, label: 'test2'},{id: 4, label: 'test3'},{id: 5, label: 'test4'},{id: 6, label: 'test5'}]

Нужно сгенерировать из него такую структуру:
<input type="checkbox" id='id1' name='test'/>
                            <label for='id1'>
                                test
                            </label>
<input type="checkbox" id='id2' name='test1'/>
                            <label for='id2'>
                                test1
                            </label>
и т.д.

Как правильно это сделать?
  • Вопрос задан
  • 465 просмотров
Решения вопроса 3
@GreatRash
var data = [
  {id: 1, label: 'test'},
  {id: 2, label: 'test1'},
  {id: 3, label: 'test2'},
  {id: 4, label: 'test3'},
  {id: 5, label: 'test4'},
  {id: 6, label: 'test5'}
];

$.each(data, function(key, value) {
  var attr = $.extend(value, {
    'id': 'id' + value.id,
    'type': 'checkbox'
  });

  $('<input />').attr(attr).appendTo('body');
  $('<label />').attr('for', attr.id).text('text' + (key || '')).appendTo('body');
});
Ответ написан
Комментировать
chupacabramiamor
@chupacabramiamor
Инженегр-программист
$.each([{id: 1, label: 'test'},{id: 2, label: 'test1'},{id: 3, label: 'test2'},{id: 4, label: 'test3'},{id: 5, label: 'test4'},{id: 6, label: 'test5'}], function(item) {
    $('body').append('<input type="checkbox" id="id' + item.id + '" name="test"/><label for="id"'+ item.id + '">' + item.label + '</label>');
});


Как-то так...
Ответ написан
Комментировать
@axeax
var arr = [{id: 1, label: 'test'},{id: 2, label: 'test1'},{id: 3, label: 'test2'},{id: 4, label: 'test3'},{id: 5, label: 'test4'},{id: 6, label: 'test5'}];
for(var i = 0; i < arr.length; i++){
   $('селектор-куда-добавить-эту-структуру').append('<input type="checkbox" id="id'+arr[i].id+'" name="'+arr[i].label+'"/><label for="id'+arr[i].id+'">'+arr[i].label+'</label>');
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы