Использовать данные slider.ui для расчетов
Всех приветствую. Начал изучать Javascript и jquerry.
Сделал на сайте несколько ползунков на jquerry. Далее мне нужно использовать значения в ползунках для дальнейших расчетов. Пробовал
var summ = document.getElementById("contentSlider").innerHTML;
не работают. попробовал так var srok = $( "#contentSlider" ); работает, но выводит [object Object], а если применить математические действия - то выводит NaN Попробовал так var summ = $( ".landing-raschet-srok-number-summ" ).text; и он выдал мне
function ( value ) { return access( this, function( value ) { return value === undefined ? jQuery.text( this ) : this.empty().each( function() { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { this.textContent = value; } } ); }, null, value, arguments.length ); }
Я не могу понять, как же мне получить те значения, которые он выдает в ползунки... Код одного из ползунков:
$(document).ready(function(){
$( "#slider" ).slider({
range: "min",
value : 50000000,//Значение, которое будет выставлено слайдеру при загрузке
min : 100000,//Минимально возможное значение на ползунке
max : 100000000,//Максимально возможное значение на ползунке
step : 100000,//Шаг, с которым будет двигаться ползунок
create: function( event, ui ) {
val = $( "#slider" ).slider("value");//При создании слайдера, получаем его значение в перемен. val
$( "#contentSlider" ).html( addSpaces(val.toString()) );//Заполняем этим значением элемент с id contentSlider
},
slide: function( event, ui ) {
$( "#contentSlider" ).html( addSpaces(ui.value.toString()) );//При изменении значения ползунка заполняем элемент с id contentSlider
}
});
});
function addSpaces(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ' ' + '$2');
}
return x1 + x2;
}
|
the_little,
document.getElementById("contentSlider").value или $( "#contentSlider" ).val(); если это input |
Цитата:
Цитата:
Хотя нужно чтобы это был input type=text, и при этом туда можно было вписывать значение, но это отдельная тема для разговора. Я пока до этого не дошел, как это сделать... |
Цитата:
$( "#contentSlider" ).html(); |
Цитата:
srok = $( "#contentSlider" ).html();
document.getElementById('calc-summ').innerHTML = srok;
в данном случае он не выводит ничего Дополню, возможно это имеет значение. Этот код я пишу в отдельном скрипте, в котором предполагается потом производить расчеты. Не в том, где ползунок выводится. Хотя если открыть код страницы и посмотреть, то там написано <div id="contentSlider2" class="landing-raschet-srok-number-summ">24</div> <div id="contentSlider" class="landing-raschet-summa-number-summ">50 000 000</div> |
the_little,
что мешает написать код расчёта в строке 13? |
Цитата:
$(document).ready(function(){
$( "#slider2" ).slider(
{
range: "min",
value : 24,//Значение, которое будет выставлено слайдеру при загрузке
min : 1,//Минимально возможное значение на ползунке
max : 80,//Максимально возможное значение на ползунке
step : 1,//Шаг, с которым будет двигаться ползунок
create: function( event, ui )
{
val = $( "#slider2" ).slider("value");//При создании слайдера, получаем его значение в перемен. val
$( "#contentSlider2" ).html( val );//Заполняем этим значением элемент с id contentSlider
},
slide: function( event, ui )
{
$( "#contentSlider2" ).html( ui.value );//При изменении значения ползунка заполняем элемент с id contentSlider
srok = $( "#contentSlider2" ).html();
document.getElementById('calc-summ').innerHTML = srok;
}
});
});
Только как теперь сделать, чтобы он и значение по умолчанию подставлял? Он его игнорит и ничего не выводит... |
the_little,
Цитата:
slide продублировать в change, значение установить после инициализации. |
Цитата:
$(document).ready(function(){
$( "#slider2" ).slider(
{
range: "min",
value : 24,//Значение, которое будет выставлено слайдеру при загрузке
min : 1,//Минимально возможное значение на ползунке
max : 80,//Максимально возможное значение на ползунке
step : 1,//Шаг, с которым будет двигаться ползунок
slide: function( event, ui )
{
$( "#contentSlider2" ).html( ui.value );//При изменении значения ползунка заполняем элемент с id contentSlider
},
change: function( event, ui )
{
$( "#contentSlider2" ).html( ui.value );//При изменении значения ползунка заполняем элемент с id contentSlider
//srok = $( "#contentSlider2" ).html();
//calc_srok = parseInt(srok, 10);
//zxc = calc_srok + asd
//document.getElementById('calc-summ').innerHTML = zxc;
}
});
});
|
the_little,
да в slide и в change одно и тоже и строка 23
$( "#slider2" ).slider("option", "value", 24)
|
| Часовой пояс GMT +3, время: 13:15. |