Рассмотрите возможность использования jQuery Templates
Создайте один шаблон элемента ввода, например, так:
<script id="inputTemplate" type="text/html">
<input type='radio' name="${groupName}" id="${id}" value="${value}" />
<label name="${labelName}" for="${for}">${labelValue}</label>
</script>
Затем вы можете создать шаблон для группы входов, например:
<script id="groupTemplate" type="text/html">
<center>
<div data-role='content' data-theme='b'>
<fieldset data-role='controlgroup' data-type='horizontal'>
${inputItem}
</fieldset>
</div>
</center>
</script>
Теперь, используя оба из них, фактический код jQuery станет намного более управляемым !!
Определите ваш DataSet для входных данных:
var inputDataSet = [
{ groupName: "FMT-A", id: 1, value: "", labelName: "1A", for: "", labelValue: "123" },
{ groupName: "FMT-A", id: 2, value: "", labelName: "2A", for: "", labelValue: "123123" },
{ groupName: "FMT-A", id: 3, value: "", labelName: "3A", for: "", labelValue: "1231231" }
]
Наконецодну единственную строку для приведения и добавления:
$("#groupTemplate").tmpl($("#inputTemplate").tmpl(inputDataSet)).appendTo("#placeholder");
Я знаю, что ваши действительные значения и логика не соответствуют друг другу, но, по сути, именно так вы и должны поступать.Шаблоны jQuery позволяют значительно улучшить управляемость кода и более чистые манипуляции с DOM в таких ситуациях, когда вы хотите вставить HTML-элементы на основе переменных данных на страницу.
Кроме того, они широко используются при вызовах AJAX, поскольку вы можете без труда отображать данные результатов POST.