我有一个存储在数据库中的输入字段类型,其位置由用户设置。例如,FirstName,textbox 1,lastname文本框2.此位置可以更改。我想渲染一个视图,显示它们在数据库中的位置的输入元素。这是我从数据库`formular获得的数据库:
[ { FormularID: 187,
CampaignID: 13,
FormLabel: 'Title',
InputType: 'textbox',
InputDetails: '',
InputPosition: 1 },
FormularID: 188,
CampaignID: 13,
FormLabel: 'DATE OF BIRTH',
InputType: 'DATE',
InputDetails: '',
InputPosition: 2 },
{ FormularID: 189,
CampaignID: 13,
FormLabel: 'First Name',
InputType: 'textbox',
InputDetails: '',
InputPosition: 0 } ] } `
Now in my view i have tried this but it doesn't arrange based on the position set.
<% for(var i in templateData.formular){ %>
<% if(templateData.formular[i].InputPosition==i){ %>
<% if(templateData.formular[i].InputType=='textbox'){ %>
<div class="form-group">
<label for="inputEmail3"><%=templateData.formular[i].FormLabel + i %></label>
<input type="text" class="form-control" id="inputEmail3">
</div>
<% } %>
<% if(templateData.formular[i].InputType=='date'){ %>
<div class="form-group">
<label for="inputEmail3" class="col-sm-1 col-form-label"><%=templateData.formular[i].FormLabel%></label>
<input type="date" class="form-control" id="inputEmail3">
</div>
<% } %>
<% } %>
因此,如果用户决定将firstname设置为2并将tile设置为1并将dateofbirth设置为0.我希望视图按该顺序呈现字段。
答案 0 :(得分:0)
我通过修改上面的结构来修复我的问题
<% for(var i=0; i< templateData.formular.length; i++){ %>
<div class="form-group">
<label for="inputEmail3"><%=templateData.formular[i].FormLabel %></label>
<input type="<%=templateData.formular[i].InputType %>"class="form-control" id="inputEmail3">
</div>
<% } %>
然后在后端,当我从数据库中读取时,通过我的数据库命令输入InputPosition,并按升序排序数据。 因此,当用户决定定位元素时,它们按照1-2-3 --- n的顺序排列并呈现该顺序。