Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Сложить данные с нескольких uislider (https://javascript.ru/forum/dom-window/72692-slozhit-dannye-s-neskolkikh-uislider.html)

artem55555p 19.02.2018 16:01

Сложить данные с нескольких uislider
 
Здравствуйте. Хочу сделать такое: https://c2n.me/3S1L5FM
Использую это http://demos.krajee.com/slider#settings
Вот сам код:
<div class="col-md-6 col-sm-6 col-xs-12">
                                    <p class="sl_p">Количество юнитов</p>
                                    <?= Slider::widget([
                                       'name'=>'rating_1',
                                       'value'=>8,
                                       'sliderColor'=>Slider::TYPE_PRIMARY,
                                       'pluginOptions'=>[
                                           'min'=>1,
                                           'max'=>15,
                                           'step'=>1,
                                           'tooltip'=>'always',
                                       ]
                                    ]);?>
                                    <p class="sl_p">Количество розеток</p>
                                    <?= Slider::widget([
                                        'name'=>'rating_2',
                                        'value'=>6,
                                        'sliderColor'=>Slider::TYPE_PRIMARY,
                                        'pluginOptions'=>[
                                            'min'=>1,
                                            'max'=>10,
                                            'step'=>1,
                                            'tooltip'=>'always',
                                        ]
                                    ]);?>

                                </div>
                                <div class="col-md-6 col-sm-6 col-xs-12">
                                    <p class="sl_p">Потребляемая мощность</p>
                                    <?= Slider::widget([
                                        'name'=>'rating_3',
                                        'value'=>6,
                                        'sliderColor'=>Slider::TYPE_PRIMARY,
                                        'pluginOptions'=>[
                                            'min'=>0.1,
                                            'max'=>10,
                                            'step'=>0.1,
                                            'tooltip'=>'always',
                                        ]
                                    ]);?>
                                    <div class="col-md-12 pp col-sm-12 col-xs-12">
                                    <span class="ch2"><input type="checkbox" id="chh" /> Интернет (100 Мбит/сек)</span>
                                    </div>
                                    <div class="hdd">
                                        <p class="sl_p">IP- адреса</p>
                                        <?= Slider::widget([
                                            'name'=>'rating_4',
                                            'value'=>5,
                                            //'disabled'=>true,
                                            'sliderColor'=>Slider::TYPE_PRIMARY,
                                            'pluginOptions'=>[
                                                'min'=>5,
                                                'max'=>256,
                                                'step'=>1,
                                                'tooltip'=>'always',
                                            ]
                                        ]);?>
                                </div>


Вот сам тег итоговой суммы:
<p class="und_res2">~<span class="count">120 000</span><span class="span">*</span>₽</p>


Подскажите, как мне соединить 4 этих слайдера, чтобы выводилось общее число? Сижу с самого утра, не могу никак понять. За раннее спасибо.

artem55555p 19.02.2018 18:20

var shet = parseInt($(".count").html());

	$("input[name='rating_1']").change(function(){
		var unit = $("input[name='rating_1']").val();
		var vals = parseInt(unit)+shet;
		$(".count").html(vals);
	});

	var shet2 = parseInt($(".count").html());

	$("input[name='rating_2']").change(function(){
		var rozetok = $("input[name='rating_2']").val();
		var vals2 = parseInt(rozetok)+shet2;
		$(".count").html(vals2);
	});


так я получаю данные с одного input... но как мне соединить их все?

Dilettante_Pro 19.02.2018 18:54

artem55555p,
Цитата:

Сообщение от artem55555p
чтобы выводилось общее число?

Что такое соединить? Что за общее число?
Вы хотите просуммировать
Количество юнитов + Количество розеток + Потребляемая мощность + IP адреса?

artem55555p 19.02.2018 21:07

$("input[name^='rating_']").change(function(){
    var count = 0;
    $(this).parents(".container").find("input[name^='rating_']").each(function () {
        count += parseInt($(this).val());
    });
    $(".count").html(count);
});


вот, сделал


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