Javascript.RU

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

Помогите вывести значения из слайдеров
Добрый день! Пересмотрел кучу примеров слайдеров, но так как у меня их в коде планируется ооочень много не охота возиться и отрисовывать каждый отдельно. В общем, сделал отрисовку слайдеров циклом, а вот значения вывести никак не получается. Значения будут в дальнейшем использоваться, каждый слайдер будет задавать параметр для расчета. Подкиньте плиз идеи, кто как видит решение задачи.
let obj= {
    
        cv: {
            min: 0,
            max: 100,
            value: 50,
            name: 'slidercv',
            
        },
        cs: {
            min: 0,
            max: 100,
            value: 50,
            name: 'slidercs',
            
        },
        cd: {
            min: 0,
            max: 100,
            value: 50,
            name: 'slidercd',
            
        },
    };
        let index;
        $(function() {
        for (index in obj){
            $('#'+obj[index].name).slider({
                value: obj[index].value,
                max: obj[index].max,
                min: obj[index].min,
           
        })
        }
    })
        
</script>
</head>
 <body>
<table>
    <tr>
        <td>требуемый объем цемента</td>
        <td><div id="slidercv" ></div></td> <
        </tr>
        <tr>
        <td>компонент1</td>
        <td><div id="slidercv" ></div></td> <
        </tr>
<tr>
        <td>компонент2</td>
        <td><div id="slidercd" ></div></td> <
        </tr>

</table>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 30.08.2016, 15:58
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Алмат, у тебя id одинаковые (строки 43 и 47) и значения одинаковые везде (min, max, value), поэтому ты не видишь разницы...
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2016, 16:03
Интересующийся
Отправить личное сообщение для Алмат Посмотреть профиль Найти все сообщения от Алмат
 
Регистрация: 30.08.2016
Сообщений: 11

ага, спасибо, есть такое, но у меня не с этим проблема, проблема с выводом самих значений слайдеров, пробовал по обычной схеме slide: function( event, ui ) {$( "#slider-result" ).html( ui.value );} и вывод в инпут, но для итерации это не подходит
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2016, 16:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Алмат
но для итерации это не подходит
подходит, какие проблемы?
Ответить с цитированием
  #5 (permalink)  
Старый 30.08.2016, 16:15
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Алмат, и на jquery правильно так писать:
$(function() {
	$.each({
		'slidercv': {
			min: 0,
			max: 100,
			value: 50
		},
		'slidercs': {
			min: 0,
			max: 100,
			value: 50
		},
		'slidercd': {
			min: 0,
			max: 100,
			value: 50
		}
	}, function(id, params) {
		$('#'+ id).slider(params);
	});
});
Ответить с цитированием
  #6 (permalink)  
Старый 30.08.2016, 16:17
Интересующийся
Отправить личное сообщение для Алмат Посмотреть профиль Найти все сообщения от Алмат
 
Регистрация: 30.08.2016
Сообщений: 11

рони,
пробовал сделать так, сам понимаю, что фигня полная, цикл в цикле -бред, но не хватает знаний, это моя первая пробная задачка. Ну а так значение выдается во все инпуты с последнего действия одинаковое
$(function() {
        for (index in obj){
            $('#'+obj[index].name).slider({
                value: obj[index].value,
                max: obj[index].max,
                min: obj[index].min,
            slide: function(event, ui) {
                $('#'+obj[index].itog).val(ui.value).trigger("change");
            }
        })
        }
        for (index in obj){
        $('#'+obj[index].itog).val($('#'+obj[index].name).slider("value"));
    }
    });
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2016, 16:18
Интересующийся
Отправить личное сообщение для Алмат Посмотреть профиль Найти все сообщения от Алмат
 
Регистрация: 30.08.2016
Сообщений: 11

Rise,
спасибо, похоже это решит мою проблему
Ответить с цитированием
  #8 (permalink)  
Старый 30.08.2016, 16:34
Интересующийся
Отправить личное сообщение для Алмат Посмотреть профиль Найти все сообщения от Алмат
 
Регистрация: 30.08.2016
Сообщений: 11

ох черт, все равно не понимаю, как теперь забрать значения из слайдеров
Ответить с цитированием
  #9 (permalink)  
Старый 30.08.2016, 16:58
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Алмат, куда забрать?
Ответить с цитированием
  #10 (permalink)  
Старый 30.08.2016, 17:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Алмат,
попробуйте описать что вы хотите делать с значениями?
заведите массив -- каждый слайдер меняет только свою ячейку после этого идёт обработка массива -- всё вся функция что бы вы там не придумали.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести значения value из select в input Jeick9 Events/DOM/Window 28 29.11.2017 08:57
Вывести значения id всех элементов страницы через пробел! Teamur Events/DOM/Window 4 13.02.2016 20:08
Как вывести целые значения? Georgian Элементы интерфейса 5 13.11.2015 06:03
Как вывести свойства div значения которых равно 1? sovsem-nub Events/DOM/Window 8 16.04.2015 13:12
Помогите вывести и посчитать значения ячеек в таблицах uznik73 Events/DOM/Window 13 14.07.2011 13:09