Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменение radio\li ползунком (https://javascript.ru/forum/dom-window/45869-izmenenie-radio%5Cli-polzunkom.html)

рони 22.03.2014 00:34

cript,
Цитата:

Сообщение от cript
зачем то выводит номер кнопки

так поставьте то значение которое вам нужно

рони 22.03.2014 00:36

cript,
$(function ()
{
   var rd = $('.output input:radio');
$("#slider-vertical").slider({
animate: true,
orientation: "vertical",
range: "min",
min: 0,
max: 5,
value: 0,
stop: function(event, ui) { action('2500')},
slide: function(event, ui) {
$("#rangevalue").html(rd.eq(ui.value).val());

rd.eq(ui.value).prop('checked', true) // второй вариант
//action(rd.eq(ui.value).val())
}
});
$("#rangevalue").html( $("#slider-vertical").slider("value"));
})
function action(str)
{
   alert(str);
}

cript 22.03.2014 00:50

рони,
Это почти то что нужно, однако все кнопки имеют разные значения онклик, например
<input type="radio" class="radio" name="button" value="1" onclick="action('2500')" checked="checked">
<input type="radio" class="radio" name="button" value="2" onclick="action('3500')">
А вышенаписанный вариант подходит только если у всех кнопок будет одно и то же событие..

рони 22.03.2014 01:14

cript,
подумайте хоть немного сами
$(function ()
{
   var rd = $('.output input:radio');
$("#slider-vertical").slider({
animate: true,
orientation: "vertical",
range: "min",
min: 0,
max: 5,
value: 0,
stop: function(event, ui) { action([1,2,3,4,5,6][ui.value])},
slide: function(event, ui) {
$("#rangevalue").html(rd.eq(ui.value).val());

rd.eq(ui.value).prop('checked', true) // второй вариант

}
});
$("#rangevalue").html( $("#slider-vertical").slider("value"));
})
function action(str)
{
   alert(str);
}

cript 22.03.2014 02:10

Цитата:

Сообщение от рони (Сообщение 303649)
cript,
подумайте хоть немного сами
$(function ()
{
   var rd = $('.output input:radio');
$("#slider-vertical").slider({
animate: true,
orientation: "vertical",
range: "min",
min: 0,
max: 5,
value: 0,
stop: function(event, ui) { action([1,2,3,4,5,6][ui.value])},
slide: function(event, ui) {
$("#rangevalue").html(rd.eq(ui.value).val());

rd.eq(ui.value).prop('checked', true) // второй вариант

}
});
$("#rangevalue").html( $("#slider-vertical").slider("value"));
})
function action(str)
{
   alert(str);
}

Мне сложно до такого додуматься..
Однако данный вариант не срабатывает в том случае если значения будут буквенные, например action([u1,u2,u3,u4,u5,u6][ui.value]) уже не выходит

рони 22.03.2014 02:24

cript,
нет слов... поменяйте 1 на 2500 , 2 на 3000 и тд в 11 строке

если нужны буквы то поставьте кавычки "u1"

cript 22.03.2014 03:09

Цитата:

Сообщение от рони (Сообщение 303660)
cript,
нет слов... поменяйте 1 на 2500 , 2 на 3000 и тд в 11 строке

если нужны буквы то поставьте кавычки "u1"

Спасибо огромное очень выручил!
Еще один вопрос а если это переменные, то в какие кавычки нужно вставлять?

рони 22.03.2014 03:12

cript,
кавычек ненужно для переменных , но сами переменные должны быть в зоне видимости данной функции -- строка 2 тут можно обьявить

cript 22.03.2014 03:20

Цитата:

Сообщение от рони
переменные должны быть в зоне видимости данной функции

А как нибудь достать эти переменные можно?

рони 22.03.2014 03:23

cript,
Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.


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