Как изменить значение динамически создаваемых элементов ввода javascript / jquery

Я создаю форму, которая динамически генерирует элементы продаж, я уже могу вызвать функцию в javascript из этих динамически созданных элементов, но при изменении значения мне нужно изменить другие значения.

По-видимому, я не могу установить значение динамически создаваемого ввода

То, что я сделал до сих пор, это то, где создается динамическое поле

<table id = "myTable" class = "table table-bordered">
<thead>
    <tr>
        <th>Supplier</th>
        <th>Stock Item</th>
        <th>Quantity</th>
        <th>Sales Price</th>
        <th>Total</th>
        <th>Action</th>
    </tr>
</thead>
<tbody>
<tr>
    <td>
        <select name = "Supplier_Number[]" class = "form-control " id = "Supplier_Number">
<option value = "" selected = "selected">Select</option>
<option value = "Supplier-00006">test test 3</option>
<option value = "Supplier-0005">test test</option>
<option value = "Supplier-000007">test test 5</option>
</select>
    </td>
    <td>
        <select name = "Stock_Number[]" class = "form-control " id = "Stock_Number" onchange = "getStockData(event, 1);">
<option value = "" selected = "selected">Select</option>
<option value = "Stock-00001">test 1</option>
<option value = "Stock-00002">test</option>
<option value = "Stock-000013">another test</option>
<option value = "Stock-000014">another test 2</option>
</select>
    </td>
    <td>
        <input type = "text" name = "Quantity[]" id = "Quantity1" onchange = "getTotal(1)">
    </td>
    <td>
        <input type = "text" name = "Sales_Price[]" id = "Sales_Price1">

        <input type = "hidden" name = "Purchase_Price[]" id = "Purchase_Price1">
    </td>
    <td>
        <input type = "text" name = "Total[]" id = "Total1">

    </td>
</tr>
</tbody>
</table>

Так выглядят динамические элементы

<tr>
<td>
    <select name = "Supplier_Number[]" class = "form-control " id = "Supplier_Number2">
<option value = "" selected = "selected">Select</option>
<option value = "Supplier-00006">test test 3</option>
<option value = "Supplier-0005">test test</option>
<option value = "Supplier-000007">test test 5</option>
</select>
</td>
<td>
    <select name = "Stock_Number[]" class = "form-control " id = "Stock_Number2" onchange = "getStockData(event,2);getTotal();">
<option value = "" selected = "selected">Select</option>
<option value = "Stock-00001">test 1</option>
<option value = "Stock-00002">test</option>
<option value = "Stock-000013">another test</option>
<option value = "Stock-000014">another test 2</option>
</select>
</td>
<td>
    <input type = "text" name = "Quantity[]" class = "Quantity2" onchange = "getTotal(2)">
</td>
<td>
    <input type = "text" name = "Sales_Price[]" class = "Sales_Price2">

    <input type = "hidden" name = "Purchase_Price[]" class = "Purchase_Price2">
</td>
<td>
    <input type = "text" name = "Total[]" class = "Total2">

</td>
<td><input type = "button" value = "Delete"></td>
</tr>

Вот как я пытаюсь изменить значение динамического элемента

var sales_price = 'Sales_Price'+count;
var Total = 'Total'+count;
var Purchase_Price = 'Purchase_Price'+count;
var Quantity = 'Quantity'+count;
$('#'+sales_price).prop('value', 'something');
$('#'+Total).prop('value', '0');
$('#'+Quantity).prop('value', '0');
$('#'+Purchase_Price).prop('value', 'something');

Проблема:

Значение динамических элементов не может быть установлено. Любая помощь будет оценена по достоинству.

Можете ли вы попробовать $ ('#' + sales_price) .val ("A value"); Это работает?

Nikos Chatzivasileiadis 25.07.2018 12:03

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

Regolith 27.07.2018 06:39
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
2 833
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

ваши динамические созданные входы не имеют атрибута id, я думаю, вы случайно назначаете его классу

то вы можете использовать этот код для изменения значений ввода после исправления проблемы с идентификатором

var i = 1 //this is the index of added item

  $('#sales_price'+String(i)).val( 'something');
  $('#Total'+String(i)).val('0');
  $('#Quantity'+String(i)).val( '0');
  $('#Purchase_Price'+String(i)).val( 'something');

вам нужно отредактировать идентификатор элемента, чтобы он соответствовал селекторам, например. «sales_price1», «Total1», «Quantity1», «Purchase_Price1» и т. д. для каждой строки

Ahmed Yousif 27.07.2018 13:23

пожалуйста, прочтите вопрос еще раз, я отредактировал вопрос, но все еще не работает

Regolith 30.07.2018 09:22

у вас динамически созданные входы не имеют атрибута id <input type = "text" name = "Quantity []" class = "Quantity2" onchange = "getTotal (2)"> Я думаю, вы случайно назначаете его классу

Ahmed Yousif 30.07.2018 13:29

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

Regolith 20.08.2018 17:09

Другие вопросы по теме