Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.01.2019, 19:32
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Да вы правы
Ответить с цитированием
  #12 (permalink)  
Старый 07.01.2019, 19:43
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Да вы правы, и ещё я и сверстаю flex ом и span и в отдельном диве, воабшем получается сплашная каша.
Ответить с цитированием
  #13 (permalink)  
Старый 07.01.2019, 20:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Если так, то выбирать span непустые и разрешенные поля, это не лучшее что можно придумать. Такое возможно, если при любом раскладе элементы одного набора будут гарантированно иметь "вторую половину" в другом наборе и под теми же индексами.

Если span содержит цены, а поля ввода, это количество, то цену выгоднее содержать в самом поле ввода в атрибуте data-... (чисто цена, без всяких руб. и т.п.). По событию ввода в поле нужно удалять не цифровые символы из него и производить расчет. А для этого достаточно пройти циклом (здесь можно использовать единственный фильтр - разрешенные), умножая их значения на значения из атрибута data-..., и суммируя. А span в расчетах вообще не используется.

Последний раз редактировалось laimas, 07.01.2019 в 20:11.
Ответить с цитированием
  #14 (permalink)  
Старый 07.01.2019, 21:20
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Да видно что у вас большая опыт, это хорошая идея, сейчас пабробаю сам сделать, если будут вопросы то обращаюсь к вам. Царские Спасибо вам.
Ответить с цитированием
  #15 (permalink)  
Старый 09.01.2019, 00:10
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

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

$('.calc1_btn').click(function(){ 
$ ('#calc .calc1_input input').not("[disabled]").each (function (index) {
     let input = ($ (this).val ());
     let  data =($('#calc .calc1_input input').not("[disabled]").data("price"));
     let inputs = input * data; 
      
     console.log(input); 
     console.log(data); 
     console.log(inputs);
     $('.calc_result p').html(inputs);
});});


<div class="calc1_input calc_one">
      <span>Քանակ</span>
      <input type="text" data-price="5000">
      <input type="text" data-price="5000">
      <input type="text" data-price="5000">
    </div>
<button class="calc1_btn">сумм</button>
<div class="calc_result"> <p></p></div>

Последний раз редактировалось Hovik, 09.01.2019 в 00:49.
Ответить с цитированием
  #16 (permalink)  
Старый 09.01.2019, 00:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Hovik,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #17 (permalink)  
Старый 09.01.2019, 00:50
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Сделал
Ответить с цитированием
  #18 (permalink)  
Старый 09.01.2019, 01:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Hovik,
$('.calc1_btn').click(function(){ 
let inputs = 0;
$ ('#calc .calc1_input input').not("[disabled]").each (function (index) {
     let input = ($ (this).val ());
     let  data =($('#calc .calc1_input input').not("[disabled]").data("price"));
      inputs += input * data; 
      
     console.log(input); 
     console.log(data); 
     console.log(inputs);
     });
$('.calc_result p').html(inputs);

});
Ответить с цитированием
  #19 (permalink)  
Старый 09.01.2019, 02:48
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Спасибо за ответ рони, но скрипт работает не правильно, оно выбирает для всех значение первого data, а они могут быть разними

Последний раз редактировалось Hovik, 09.01.2019 в 02:50.
Ответить с цитированием
  #20 (permalink)  
Старый 09.01.2019, 03:00
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

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

var AMD = 1;
var RUB = 8;
var USD = 480;


 $('#valute').change(function(){
    if($('#valute option:selected').val() == 'AMD'){ var valute = AMD; }
    else if($('#valute option:selected').val() == 'USD'){ var valute = USD;}
    else{ var valute = RUB;} console.log(valute);});


$('.calc1_btn1').click(function(){ 
let inputs = 0;
$ ('#calc .calc1_input input').not("[disabled]").each (function (index) {
     let input = ($ (this).val ());
     let  data =($('#calc .calc1_input input').not("[disabled]").data("price"));
      inputs += input * data; 
});
$('#calc .calc_result p').html("Ընդհանուր Արժեքը: " + inputs + " դրամ");
});

Последний раз редактировалось Hovik, 09.01.2019 в 03:21.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обход многомерного массива с задержкой после каждого цикла Walk Общие вопросы Javascript 2 14.08.2017 16:17
Помогите к js коду, написать html код Modrih Элементы интерфейса 8 16.06.2015 18:08
Ввод диапазона значений массива с клавиатуры Воскобоенко Общие вопросы Javascript 11 06.06.2015 22:34
Суммировать все элементы массива в цикле. Blondinka Элементы интерфейса 6 27.05.2015 13:24
Сортировка массива по возрастанию другого массива. vas88811 Events/DOM/Window 4 12.01.2014 10:31