Я хочу отобразить определенный элемент из массива с помощью Jquery .change(функция… (JS, EJS, Мангуст, Экспресс)

#javascript #jquery #express #nodes #ejs

Вопрос:

В моем проекте я использую js, ejs, мангуст, экспресс

Я хочу отобразить определенный элемент из массива с помощью Jquery.

У меня есть элемент select, и каждый раз, когда я изменяю этот элемент, я хочу извлечь его значение параметра, проанализировать его как целое число «i», поместить его в другой массив и отобразить конкретный массив[i] в моем html-документе

Дополнительная информация о моем проекте: у меня есть список элементов (эти элементы являются входными данными браузера) в элементе select. Каждый товар имеет свою собственную цену (что также является еще одним вводом из браузера) и хотел бы сопоставить каждый товар со своей собственной ценой.

Так, например, выберите пункт[1] изменения цены[1], выберите пункт[2] изменения цены[2]

это мой код: «‘

 <li class="list-group-item" id="price">
<% let array = kiteProduct.price.split(','); %> 
 €  
</li>

<select class="form-select" id="sizes" aria-label="Default select example">
   <option value="0" selected>Select Size</option>
   <% let i = 0; %> 
   <% for (let element of kiteProduct.size.split(',')) {%>
   <option value=<%= i %> >
   <%= element %>

   </option>
   <% i   %> 
   <% } %>
</select>
 

«»
и мой jQuery
«»

    <script type='text/javascript'>
                $('#sizes').change(function () {
                    
                    var $arr = "<%=array; %>";
                    var $id = parseInt($(this).val());
                    // let price = arr[id];
                    var i = 0;
                    for (let j of $arr){
                        if (i === $id){
                            var price = j;
                        }
                        i  ;
                    }
                    $("#price").text(price);
                });
            </script>
 

«»
я тоже пытался
«»

 <script type='text/javascript'>
                $('#sizes').change(function () {
                    
                    var $arr = "<%=kiteProduct.size.split(',') %>";
                    var $id = parseInt($(this).val());
                    let price = arr[id];
                    $("#price").text(price);
                });
 

»’

когда передаю идентификатор в цене моя функция отлично работает $("#price").text($id); , но он отображает мой ID (т. е. 0, 1…), Когда я, проходя мой ID в массив, как я упоминаю в моем коде, мой код дисплея случайных величин (например, элемент[0] -> HTML-текст «1», пункту[1] -> HTML-текст «0»

и я уже включил свои сценарии «‘

             <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
            <script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
            <script src="ejs.min.js"></script>
 

»’

который, я считаю, мне нужен только ajax, все остальные не нужны

Ответ №1:

Я нашел простой ответ, изменив значение параметра на <option value=<%= array[i] %> >

если вы нашли что-то еще, что я могу использовать в jQuery, дайте мне знать и опубликуйте свои ответы!