Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 08.12.2018, 10:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Тогда как я и написал - используйте для этого тернарный оператор вместо if(...) и кучи определений.
Ответить с цитированием
  #12 (permalink)  
Старый 08.12.2018, 10:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

igor.morgunov,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
var discount = $(".discount");
discount.change(function() {
var len = discount.filter(":checked").length;
var result = {0 : 0, 1 : 15000, 2 : 21000, 3 : 27000}[len]
$('#result .montage').html(result);
})

});
  </script>
</head>

<body>
<div class="header-content-page">
                    <div class="header-name7">РАСЧЕТ СТОИМОСТИ</div>
                            <div class="header-name7-black">ВЫБОР МОЩНОСТИ</div>
                            <div class="header-main-form">
                                 <div class="btn-group" data-toggle="buttons">
                                <label class="btn active" id="option-00">
                                    <input type="radio" name="options" id="option-0" value="0" checked>
                                    1 вкладка
                                </label>
                                <label class="btn" id="option-01">
                                    <input type="radio" name="options" id="option-1" value="1">
                                    2 вкладка
                                </label>
                                <label class="btn" id="option-02">
                                    <input type="radio" name="options" id="option-2" value="2">
                                    3 вкладка
                                </label>
                            </div>
                            <div class="check-group">
                                <label id="label-0" class="clearfix" for="check-0">
                                    <input id="check-0" type="checkbox" checked />1й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-1" class="clearfix" for="check-1">
                                    <input id="check-1" type="checkbox" class="discount" />2й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-2" class="clearfix" for="check-2">
                                    <input id="check-2" type="checkbox" class="discount" />3й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-3" class="clearfix" for="check-3">
                                    <input id="check-3" type="checkbox" class="discount" />4й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-4" class="clearfix" for="check-4">
                                    <input id="check-4" type="checkbox" />5й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-5" class="clearfix" for="check-5">
                                    <input id="check-5" type="checkbox" />6й
                                    <span class="float-right"></span>
                                </label>
                            </div>
                       </div>
</div>

<div id="result">
    <div class="montage"></div>
</div>
</body>
</html>
Ответить с цитированием
  #13 (permalink)  
Старый 08.12.2018, 10:37
Аватар для igor.morgunov
Новичок на форуме
Отправить личное сообщение для igor.morgunov Посмотреть профиль Найти все сообщения от igor.morgunov
 
Регистрация: 08.12.2018
Сообщений: 9

а если нужно в зависимости от условий передавать данные в массив т.к. калькулятор уже из массива берет значения
Ответить с цитированием
  #14 (permalink)  
Старый 08.12.2018, 10:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от igor.morgunov
а если нужно в зависимости от условий передавать данные в массив т.к. калькулятор уже из массива берет значения
не понимаю, нужен массив, сделайте массив
Ответить с цитированием
  #15 (permalink)  
Старый 08.12.2018, 10:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

igor.morgunov,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
var discount = $(".discount");
discount.change(function() {
var len = discount.filter(":checked").length;
var result = [15000, 6000, 6000].slice(0,len)
$('#result .montage').html(JSON.stringify(result));
})

});
  </script>
</head>

<body>
<div class="header-content-page">
                    <div class="header-name7">РАСЧЕТ СТОИМОСТИ</div>
                            <div class="header-name7-black">ВЫБОР МОЩНОСТИ</div>
                            <div class="header-main-form">
                                 <div class="btn-group" data-toggle="buttons">
                                <label class="btn active" id="option-00">
                                    <input type="radio" name="options" id="option-0" value="0" checked>
                                    1 вкладка
                                </label>
                                <label class="btn" id="option-01">
                                    <input type="radio" name="options" id="option-1" value="1">
                                    2 вкладка
                                </label>
                                <label class="btn" id="option-02">
                                    <input type="radio" name="options" id="option-2" value="2">
                                    3 вкладка
                                </label>
                            </div>
                            <div class="check-group">
                                <label id="label-0" class="clearfix" for="check-0">
                                    <input id="check-0" type="checkbox" checked />1й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-1" class="clearfix" for="check-1">
                                    <input id="check-1" type="checkbox" class="discount" />2й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-2" class="clearfix" for="check-2">
                                    <input id="check-2" type="checkbox" class="discount" />3й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-3" class="clearfix" for="check-3">
                                    <input id="check-3" type="checkbox" class="discount" />4й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-4" class="clearfix" for="check-4">
                                    <input id="check-4" type="checkbox" />5й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-5" class="clearfix" for="check-5">
                                    <input id="check-5" type="checkbox" />6й
                                    <span class="float-right"></span>
                                </label>
                            </div>
                       </div>
</div>

<div id="result">
    <div class="montage"></div>
</div>
</body>
</html>
Ответить с цитированием
  #16 (permalink)  
Старый 08.12.2018, 11:06
Аватар для igor.morgunov
Новичок на форуме
Отправить личное сообщение для igor.morgunov Посмотреть профиль Найти все сообщения от igor.morgunov
 
Регистрация: 08.12.2018
Сообщений: 9

Работает вроде как надо. Но не пойму как в общий массив загнать
$(function() {
        var discount = $(".discount");
        discount.change(function() {
        var len = discount.filter(":checked").length;
        var result = [15000, 6000, 6000].slice(0,len)
        $('#result .montage').html(JSON.stringify(result));
        })
    });
    var price = [
        [0, first, second, third, 0, 5000],
        [0, first, second, third, 0, 5000],
        [0, first, second, third, 0, 5000]
    ];

Калькулятор берет из var price где цены статичны.
Ответить с цитированием
  #17 (permalink)  
Старый 08.12.2018, 11:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от igor.morgunov
Калькулятор берет из var price где цены статичны.
мне сложно понять вашу логику
Ответить с цитированием
  #18 (permalink)  
Старый 08.12.2018, 12:13
Аватар для igor.morgunov
Новичок на форуме
Отправить личное сообщение для igor.morgunov Посмотреть профиль Найти все сообщения от igor.morgunov
 
Регистрация: 08.12.2018
Сообщений: 9

Калькулятор и var price - работали до меня и в него нужно складывать те числа из var discount на место соотвествующее порядку input 2,3,4. У меня указано как first, second, third
var price = [
        [0, first, second, third, 0, 5000],
        [0, first, second, third, 0, 5000],
        [0, first, second, third, 0, 5000]
    ];

Как это сделать - не понимаю. Надеюсь распутал свои предыдущие объяснения))
Ответить с цитированием
  #19 (permalink)  
Старый 08.12.2018, 12:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

igor.morgunov,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
        var discount = $(".discount");
        discount.change(function() {
        var len = discount.filter(":checked").length;
        var result = [15000, 6000, 6000].slice(0,len);
        result.push(0,0,0)
        result.length = 3;
        price.forEach(function(el) {
        [].splice.apply(el, [1,3].concat(result))
        })
        $('#result .montage').html(JSON.stringify(price));
        })

    var price = [
        [0, 0, 0, 0, 0, 5000],
        [0, 0, 0, 0, 0, 5000],
        [0, 0, 0, 0, 0, 5000]
    ];
 });
  </script>
</head>

<body>
<div class="header-content-page">
                    <div class="header-name7">РАСЧЕТ СТОИМОСТИ</div>
                            <div class="header-name7-black">ВЫБОР МОЩНОСТИ</div>
                            <div class="header-main-form">
                                 <div class="btn-group" data-toggle="buttons">
                                <label class="btn active" id="option-00">
                                    <input type="radio" name="options" id="option-0" value="0" checked>
                                    1 вкладка
                                </label>
                                <label class="btn" id="option-01">
                                    <input type="radio" name="options" id="option-1" value="1">
                                    2 вкладка
                                </label>
                                <label class="btn" id="option-02">
                                    <input type="radio" name="options" id="option-2" value="2">
                                    3 вкладка
                                </label>
                            </div>
                            <div class="check-group">
                                <label id="label-0" class="clearfix" for="check-0">
                                    <input id="check-0" type="checkbox" checked />1й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-1" class="clearfix" for="check-1">
                                    <input id="check-1" type="checkbox" class="discount" />2й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-2" class="clearfix" for="check-2">
                                    <input id="check-2" type="checkbox" class="discount" />3й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-3" class="clearfix" for="check-3">
                                    <input id="check-3" type="checkbox" class="discount" />4й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-4" class="clearfix" for="check-4">
                                    <input id="check-4" type="checkbox" />5й
                                    <span class="float-right"></span>
                                </label>
                                <label id="label-5" class="clearfix" for="check-5">
                                    <input id="check-5" type="checkbox" />6й
                                    <span class="float-right"></span>
                                </label>
                            </div>
                       </div>
</div>

<div id="result">
    <div class="montage"></div>
</div>
</body>
</html>
Ответить с цитированием
  #20 (permalink)  
Старый 08.12.2018, 15:55
Аватар для igor.morgunov
Новичок на форуме
Отправить личное сообщение для igor.morgunov Посмотреть профиль Найти все сообщения от igor.morgunov
 
Регистрация: 08.12.2018
Сообщений: 9

Рони, поможете связать массив с калькулятором?
П.с. я наверное уже достал?)) но что-то не выходит. И 5й пункт показывает 5000 в не зависимости от чекбокса
function calculate() {
        var sum = 0;
        var i = $('.btn.active').find('input:radio[name="options"]').val();
        console.log('i = ' + i);
        console.log('j = ' + j);
        for (var j = 0; j < 6; j++) {
            if ($('#check-'+String(j)).is(':checked')) {
                sum += price[i][j];
                $('.cxema-'+String(j)).show();
            } else {
                $('.cxema-'+String(j)).hide();
            }
        }

        sum = String(sum).replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
        console.log('Общая сумма: '+sum);
        var result = sum + ' руб.';
        $('#result .montage').html(result);
        return sum;
    }

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SEOCRM - бесплатные инструменты для оптимизаторов, интернет-маркетологов и владельце SeoCRM Оффтопик 0 23.05.2016 11:59
Условие для текстареи rodiony4 jQuery 5 02.03.2016 23:02
Требуется программист на QML для создания интерфейса клиентской программы для общения m.simakov Работа 0 11.02.2016 18:07
jquery условие для click функции Sergey_dn jQuery 2 02.07.2014 23:56
Условие для построение нумерации ArtemGavrilenko Элементы интерфейса 3 11.06.2014 13:02