Вам не хватает кавычек по всем вашим атрибутам, и вы снова используете идентификатор rowQuestion
, чтобы исправить это. Всегда заключите ваши атрибуты в кавычки.
В качестве альтернативы вашему текущему подходу проверьте шаблоны jQuery , шаблон для вашего кода будет выглядеть так(Надеюсь, вы согласитесь, гораздо проще в обслуживании):
<script id="rowTmpl" type="text/x-jquery-tmpl">
{{each items}}
<tr class="rowQuestion">
<td>${$index+1}</td>
<td><input type="hidden" name="question${$index}" id="question${$index}" value="${$value.ContentQuestion}">${$value.ContentQuestion}</td>
<td>
<select name="answer${$index}" id="answer${$index}">
<option name="answerA" value="A">${$value.OptionAQuestion}</option>
<option name="answerB" value="B">${$value.OptionBQuestion}</option>
<option name="answerC" value="C">${$value.OptionCQuestion}</option>
<option name="answerD" value="D">${$value.OptionDQuestion}</option>
</select>
</td>
</tr
{{/each}}>
<tr>
<td>
<input type="hidden" name="countof_record" id="countof_record" value="${items.length}">
<input type="submit" name="submit" value="Save your answer" id="save">
</td>
</tr>
</script>
Чтобы использовать его, вы должны заменить это:
for (i = 0; i < results.data.length; i++) {
row = results.data[i];
var questions=row.ContentQuestion;
alert(questions);
$("#questionlist").append("<tr id=rowQuestion><td>"+(i+1)+"</td><td><input type=hidden name=question"+i+" id=question"+i+" value="+questions+" size=255>"+row.ContentQuestion+"</td><td><select name=answer"+i+" id=answer"+i+"><option name=answerA value=A selected>"+row.OptionAQuestion+"</option><option name=answerB value=B>"+row.OptionBQuestion+"</option><option name=answerC value=C>"+row.OptionCQuestion+"</option><option name=answerD value=D>"+row.OptionDQuestion+"</option></select></td></tr>");
}
$("#questionlist > tbody:last").append("<tr><td><input type=hidden name=countof_record id=countof_record value="+results.data.length+"><input type=submit name=submit value=Save your answer id=save></td></tr>");
на это:
$("#rowTmpl").tmpl({items: results.data}).appendTo("#questionlist");