выборка данных из базы данных в раскрывающийся список с использованием JavaScript - PullRequest
0 голосов
/ 04 июля 2019

В моем проекте есть динамические выпадающие списки, которые появляются на основе текстовых полей при вводе числа в текстовое поле.По умолчанию есть только один раскрывающийся список, содержащий данные из базы данных.Но выпадающие, которые появляются динамически, не содержат данных, появляются статические данные и не сохраняются в базе данных.

Я написал код выпадающего по умолчанию кода в файле .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();
    }
 }

Не отображается ошибка, но в раскрывающихся списках не отображаются данные.Пожалуйста, помогите, как я могу это сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...