В моем проекте есть динамические выпадающие списки, которые появляются на основе текстовых полей при вводе числа в текстовое поле.По умолчанию есть только один раскрывающийся список, содержащий данные из базы данных.Но выпадающие, которые появляются динамически, не содержат данных, появляются статические данные и не сохраняются в базе данных.
Я написал код выпадающего по умолчанию кода в файле .ejs и для динамического удаления.downs я создал script.js.
<div class="form-group row">
<div class="col-sm-6 col-lg-4">
<label class="control-label pt10">MEG Injection
Location</label>
</div>
<div class="col-sm-6 col-lg-8">
<select id="inputState" class="form-control" name = "megInjectionLocation1">
<% if(chkVal(dropDown.megInjectionLocation1)!=''){
let selected = chkVal(data.megInjectionLocation1);
let list = JSON.parse(dropDown.megInjectionLocation1);
for (let key in list) {
%>
<option <% if(selected !='' && selected == list[key]){ %> selected <% } %> value = "<%= list[key] %>"><%= list[key] %></option>
<% }} %>
</select>
</div>
</div>
<% if(typeof(data.noMEG)!== 'undefined' && parseInt(data.noMEG) > 1){ %>
<div class = "megl-block">
<% for(let a=2; a <= parseInt(data.noMEG); a++){ %>
<div class="form-group row">
<div class="col-sm-6 col-lg-4">
<label class="control-label pt10">MEG Injection Location<%= a %></label>
</div>
<div class="col-sm-6 col-lg-8">
<select id="inputState" class="form-control" name = "megInjectionLocation<%= a %>">
<% if(chkVal(dropDown.megInjectionLocation)!=''){
let selected = chkVal(data.megInjectionLocation);
let list = JSON.parse(dropDown.megInjectionLocation);
for (let key in list) {
%>
<option <% if(selected !='' && selected == list[key]){ %> selected <% } %> value = "<%= list[key] %>"><%= list[key] %></option>
<% }} %>
</select>
</div>
</div>
<% } %>
</div>
<% }else{ %>
<div class = "megl-block" style = "display:none;"> </div>
<% } %>
function xtFormsLocation(elem){
let field = $(elem).attr("name");
let count = parseInt($(elem).val());
var htm = '';
if(field == 'noMEG'){
var flabel = 'MEG';
var fname = 'megInjectionLocation';
var fblock = '.megl-block';
}else if(field == 'noMeOH'){
var flabel = 'MeoH';
var fname = 'meohInjectionLocation';
var fblock = '.meohl-block';
}else if(field == 'noSI'){
var flabel = 'SI';
var fname = 'siInjectionLocation';
var fblock = '.sil-block';
}else if(field == 'noCI'){
var flabel = 'CI';
var fname = 'ciInjectionLocation1';
var fblock = '.cil-block';
}else if(field == 'noAI'){
var flabel = 'AI';
var fname = 'aiInjectionLocation';
var fblock = '.ail-block';
}else if(field == 'noWI'){
var flabel = 'WI';
var fname = 'wiInjectionLocation';
var fblock = '.wil-block';
}
if(count > 1 && count <= 4){
for(let a=2; a <= count; a++){
htm += `<div class="form-group row">
<div class="col-sm-6 col-lg-4">
<label class="control-label pt10">${flabel}
Injection Location${a}</label>
</div>
<div class="col-sm-6 col-lg-8">
<select id="inputState" class="form-control"
name = "${fname}${a}">
<option value = "@PMV-PWV">@PMV-
PWV</option>
</select>
</div>
</div>`;
}
$(fblock).html(htm).show();
}else {
$(fblock).html('').hide();
}
}
Не отображается ошибка, но в раскрывающихся списках не отображаются данные.Пожалуйста, помогите, как я могу это сделать