Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2020, 15:28
Аватар для thislegion
Интересующийся
Отправить личное сообщение для thislegion Посмотреть профиль Найти все сообщения от thislegion
 
Регистрация: 18.05.2020
Сообщений: 14

При вводе value прибавляется цена
Подскажите как сделать чтобы при вводе нового value цена везде менялась и при повторном нажатии не прибавлялась. И менялась только если ввести новое значение value.
<input id="vis" type="radio" name="valuta" checked="checked" value="give">Отдаю
      <br>
      <input type="radio" name="valuta" value="get">Получаю
      <br>
      <input id="summa" type="text" name="summa">
      <br>
      <button onclick = "myFunc()">Нажми меня</button>
  <table>
        <thead>
            <tr>
                <th>Обменник</th>
                <th>Отдаете</th>
                <th>Получаете</th>
                <th>Резерв</th>
            </tr>
        </thead>
        <tbody>
<tr class="trvaluts">
<td>Обменник1</td>
<td><span id="in">0.9995</span> WMR</td>
<td class="out">1 YAMRUB</td>
<td>55618.8</td>
</tr>
<tr class="trvaluts">
<td>Обменник2</span> </td>
<td><span id="in">1.15</span> WMR</td>
<td class="out">1 YAMRUB</td>
<td>150000</td>
</tr>
<tr class="trvaluts">
<td>Обменник3</td>
<td id="in">1.01</span> WMR</td>
<td class="out">1 YAMRUB</td>
<td>1270020</td>
</tr>
            
        </tbody>
    </table>
    </td>
  </tr>
</table>     
<script>

function myFunc() {

  let check = document.getElementById('vis').checked;

if (check == true) 
{
  
  let int = Number(document.getElementById("in").innerHTML);//преобразуем строку в число
  let summa = Number(document.getElementById('summa').value);
  let rez = int + summa;

document.getElementById("in").innerHTML = rez;

} 
//myFunc = () => {};//чтобы функция сработала одни раз
}
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2020, 17:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от thislegion
Number(document.getElementById("in").innerHTML);
Это будет касаться только первого из трех, последующие будут игнорированы так как ID, это уникальное значение.
Ответить с цитированием
  #3 (permalink)  
Старый 19.05.2020, 09:51
Аватар для thislegion
Интересующийся
Отправить личное сообщение для thislegion Посмотреть профиль Найти все сообщения от thislegion
 
Регистрация: 18.05.2020
Сообщений: 14

Сообщение от laimas Посмотреть сообщение
Это будет касаться только первого из трех, последующие будут игнорированы так как ID, это уникальное значение.
Я знаю. Мне как раз и нужно чтобы изменения были где id=in
Ответить с цитированием
  #4 (permalink)  
Старый 19.05.2020, 10:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от thislegion
Я знаю. Мне как раз и нужно чтобы изменения были где id=in
Ответить с цитированием
  #5 (permalink)  
Старый 19.05.2020, 12:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от thislegion
нужно чтобы изменения были где id=in
И это где?
Ответить с цитированием
  #6 (permalink)  
Старый 19.05.2020, 14:46
Интересующийся
Отправить личное сообщение для sergeantpepper Посмотреть профиль Найти все сообщения от sergeantpepper
 
Регистрация: 03.04.2017
Сообщений: 15

Сообщение от thislegion Посмотреть сообщение
Я знаю. Мне как раз и нужно чтобы изменения были где id=in
Атрибут id является уникальным, другими словами на странице должен быть только один элемент с id="in". Альтернативой может выступить атрибут class, который может быть неуникальным.
Ответить с цитированием
  #7 (permalink)  
Старый 19.05.2020, 17:34
Аватар для thislegion
Интересующийся
Отправить личное сообщение для thislegion Посмотреть профиль Найти все сообщения от thislegion
 
Регистрация: 18.05.2020
Сообщений: 14

Кто-нибудь подскажите почему length показывает 6, когда в коде всего 3 id равные In?

<input id="vis" type="radio" name="valuta" checked="checked" value="give">Отдаю
<br>
<input type="radio" name="valuta" value="get">Получаю
<br>
<input id="summa" type="text" name="summa">
<br>
<button onclick = "myFunc()">Нажми меня</button>
<table>
<thead>
<tr>
<th>Обменник</th>
<th>Отдаете</th>
<th>Получаете</th>
<th>Резерв</th>
</tr>
</thead>
<tbody>
<tr class="trvaluts">
<td>Обменник1</td>
<td><span id="in">0.9995</span> WMR</td>
<td class="out">1 YAMRUB</td>
<td>55618.8</td>
</tr>
<tr class="trvaluts">
<td>Обменник2</span> </td>
<td><span id="in">1.15</span> WMR</td>
<td class="out">1 YAMRUB</td>
<td>150000</td>
</tr>
<tr class="trvaluts">
<td>Обменник3</td>
<td><span id="in">1.01</span> WMR</td>
<td class="out">1 YAMRUB</td>
<td>1270020</td>
</tr>

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

function myFunc() {

  let check = document.getElementById('vis').checked;

if (check) 
{
  
 var int = document.getElementById("in");
 var summa = document.getElementById("summa").value;
 //document.write(summa.length);
document.write(int.innerHTML.length);

} 
//myFunc = () => {};//чтобы функция сработала одни раз
}
</script>
Ответить с цитированием
  #8 (permalink)  
Старый 19.05.2020, 17:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от thislegion
подскажите почему length показывает 6,
<span id="in">0.9995</span> потому-что 6 символов
Ответить с цитированием
  #9 (permalink)  
Старый 19.05.2020, 17:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от thislegion
когда в коде всего 3 id равные In?
а зачем так делать, если вам уже трое сказали, что это плохо.
Ответить с цитированием
  #10 (permalink)  
Старый 19.05.2020, 17:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от thislegion
когда в коде всего 3 id равные In
Для JS только один, первый найденный! Вам уже трижды сказали, что атрибут id означает уникальный глобальный идентификатор на странице, а вы все лепите горбатого.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена картинки кнопки при нажатии и обратно при повторном нажатии mff Общие вопросы Javascript 15 03.05.2018 14:12
Поменять фон при вводе в текст поле input teamf7 Элементы интерфейса 5 03.04.2016 21:28
Скрытие\показывание поля при вводе текста egor1708 Элементы интерфейса 2 30.11.2012 19:02
Указание шаблона при вводе телефонного номера (аналог qiwi) itcoder Элементы интерфейса 2 17.04.2011 19:35
Активация кнопки при вводе верного ответа JukiPuki Общие вопросы Javascript 3 08.02.2010 23:12