Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Работа и инпутами и цифрами в цикле (https://javascript.ru/forum/dom-window/58317-rabota-i-inputami-i-ciframi-v-cikle.html)

рони 16.09.2015 21:16

Цитата:

Сообщение от Эдди
Но поскольку услуги в данном случае 3, то умножается 3 раза.

значит назначено 3 раза одно и тоже

рони 16.09.2015 21:18

Эдди,
5 строка стирает значение 4 строки - это нормально? то есть ошибок быть не может при вводе?

Эдди 16.09.2015 21:50

Цитата:

Сообщение от рони (Сообщение 388893)
Эдди,
$('input.ser_n').on('input',  function() {

так пробовали?

Попробовал. Так вообще не реагирует.
Но я это завтра добью.
Ведь в первой таблице у меня куча строк, а ниже приведенная функция только на одну строку реагирует и все правильно отдает.
Просто там тег <a>, а здесь <input>. Там click, здесь input.
Буду пробовать методом постепенного замещения, начиная с <a>.
$('div').on('click', 'a.crt', function() {
      startLoadingAnimation(); //запускаем анимацию загрузки
      //Получаем значение атрибута href и выбираем только параметры в массиве
      var params = $(this).attr('href').split('?');
      alert(params[1]);
      stopLoadingAnimation(); //останавливаем анимацию загрузки
      return false; //чтобы тег <a> не выполнял свою основную функцию
    });

Эдди 16.09.2015 21:52

Цитата:

Сообщение от рони (Сообщение 388896)
Эдди,
5 строка стирает значение 4 строки - это нормально? то есть ошибок быть не может при вводе?

Сделал алерты. Три раза выводит одно и то же, но конечно же, три раза умножением сумма растет в геометрической прогрессии.

Эдди 17.09.2015 07:39

В общем выяснил совершенно точно, убрав все лишнее из скрипта.
Если работаешь с <a> = OK
$('div').on('click', 'a.sern', function() {
      alert('OK'); // ОДИН РАЗ
      return false;
    });

Меняешь на <input> = Черт бы его побрал, выводит многократно.
$('div').on('input', 'input.sern', function() {
      alert('OK'); // НЕСКОЛЬКО РАЗ
      return false;
    });

Буду искать как под инпут заголовок функции написать... :-E

рони 17.09.2015 12:30

Эдди,
делайте минимальный макет, иначе можно только гадать что и как у вас.

Эдди 17.09.2015 14:07

:victory:
Цитата:

Сообщение от рони (Сообщение 388961)
Эдди,
делайте минимальный макет, иначе можно только гадать что и как у вас.

Абсолютно все удалил лишнее.
Совершенно точно, меняю инпут на а, все великолепно. Обратно - все "размножается"' :) В общем буду за компом, слелаю на чистом js без классов, а с ай пи Правда, придется вынести все за функцию jquery.

Надеюсь мою функцию кто поможет перевести в jquery, чтобы было совсем айс...

Эдди 17.09.2015 14:08

У меня jquery 1.11. От этого не зависит?

рони 17.09.2015 15:35

Цитата:

Сообщение от Эдди
У меня jquery 1.11. От этого не зависит?

нет

Эдди 17.09.2015 21:52

Вечер добрый.
Вот такую идиотскую функцию, написанную на JS кто-нибудь может "перевести" на jquery?
Иначе мне приходится ее выносить за весь jquery script.
Здорово это или не здорово - не знаю.
Но хотелось бы все на jquery.
function servn(n) {
  var x = document.getElementById('serv_c' + n).innerHTML;
  var y = document.getElementById('serv_n' + n).value;
  z = x * y;
  document.getElementById('serv_c' + n).innerHTML = z;
}

Вот html:
<table>
  <tr>
    <td id="serv_c0">10</td>
    <td><input id="serv_n0" oninput="servn(0)"></td>
  </tr>
  <tr>
    <td id="serv_c1">10</td>
    <td><input id="serv_n1" oninput="servn(1)"></td>
  </tr>
  <tr>
    <td id="serv_c2">10</td>
    <td><input id="serv_n2" oninput="servn(2)"></td>
  </tr>
</table>

Вот пример. Таблица написана на php для быстроты.
Но мог бы написать и на html.
Могла бы быть и динамической, как у меня в основном скрипте.
Хочется закрыть нафиг эту тему (извините, устал от таких простых вещей).
http://booking.intomega.com/test.php

Или оставить эту функцию без jquery? Работает ведь... :-E


Часовой пояс GMT +3, время: 15:37.