Изменение radio\li ползунком 
		
		
		
		Приветствую! 
	Нужно с помощью ползунка (такого http://refreshless.com/nouislider/ или такого http://jsbin.com/uzINaWe/1) осуществить изменение радиокнопки (input type=radio), ну или же выбор нужного <li>пункта меню</li> Кому не сложно подскажите как это делается, в интернете ничего похожего не нашел..  | 
	
		
 С nouislider'ом вешаешь обработчик события slide, в нем получаешь значение $(this).val(), ну и дальше уже используешь его как у тебя задумано. С jQuery UI слайдером наверно примерно также, читай соответствующую доку. 
	 | 
	
		
 Если не затруднит можно поподробнее? Вот например три пункта меню 
	<div class="output"> <input type="radio" class="radio1"> <input type="radio" class="radio2"> <input type="radio" class="radio3"> </div> Есть такой ползунок <div class="slider"></div> 
MK.elementProcessors.push( function( el ) {
  if( $( el ).hasClass( 'ui-slider' ) ) {
    return {
      on: 'slide',
      getValue: function() {
        return $( this ).slider( 'option', 'value' );
      },
      setValue: function( v ) {
        $( this ).slider( 'option', 'value', v );
      }
    };
  }
});
$( ".slider1" ).slider({ min: 0, max: 3 });
var mk = new Matreshka();
mk.radio1 = testvalue;
mk.bindElement({
radio1: '.slider'
radio2: '.slider'
radio3: '.slider'
});
mk.bindElement({
radio1: '.output .radio1',
radio2: '.output .radio2'
radio3: '.output .radio3'
}, MK.htmlp );
Нужно сделать так чтобы при перемещении ползунка выбирался нужный пункт, а уже на этом пункте будет висеть событие onselect например..  | 
	
		
 Появился такой вот вариант исполнения данной задачи, однако он на чистом JS, хотелось бы как тут http://jsbin.com/uzINaWe/1, кто знает что нужно для этого сделать?) 
	
<script>
function checkradio() {
var d =0,s;
var polzunok = document.getElementById("polzunok");
var radios = document.getElementsByName('alc');
s = parseInt(polzunok.max);
d = (index1 <= s) ? 1 : -1;
index1+=d;
alert(index1);
radios[index1].checked = true;
 
}
onload = function ()
{
document.getElementById ('polzunok').oninput = function ()
   {document.getElementsByName ('alc') [this.value].checked = 1}
}
</script>
<form action="handler.php">
<div id = "radios">
<input type="radio" checked name="alc" value = "0">
<input type="radio" name="alc" value = "1">
<input type="radio" name="alc" value = "2">
<input type="radio" name="alc" value = "3">
<input type="radio" name="alc" value = "4">
<input type="radio" name="alc" value = "5">
<input type="radio" name="alc" value = "6">
<input type="radio" name="alc" value = "7">
<input type="radio" name="alc" value = "8">
<input type="radio" name="alc" value = "9">
<input type="radio" name="alc" value = "10">
</div>
<input id = "polzunok" type="range" min="0" max="10" step="1" value="0"> 
</form>
 | 
	
		
 cript, доки по виджету slider нашел? Как там указать обработчик изменения ползунка указать и как получать текущее его значение? 
	 | 
	
		
 danik.js, 
	http://littledev.ru/html/radiojquery.html никак не получается объединить, если ничего не найду то придется делать на CSS .. )  | 
	
		
 cript, доки по виджету slider нашел? Как там указать обработчик изменения ползунка указать и как получать текущее его значение? 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 cript, 
	:blink: 
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>slider demo</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/mint-choc/jquery-ui.css">
  <style>
  .slider { margin: 10px;width : 500px; }
   	</style>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>
<div class="output">
 <input type="radio" class="radio1" >
 <input type="radio" class="radio2" checked="checked">
 <input type="radio" class="radio3">
 </div>
Есть такой ползунок
<div class="slider"></div>
<script>
var rd = $('.output input:radio');
$(".slider").slider({
animate: true ,
		  min: 0,
		  max: 2,
		  value: 1,
		  slide: function( event, ui ) {
          rd.each(function(indx, element){
                $(this).prop({checked : indx == ui.value})
                });
		  }
		});
</script>
</body>
</html>
 | 
	
		
 рони, 
	Благодарю! Это именно то что нужно! :thanks:  | 
	
		
 Возник еще один вопрос. Добавляю в код $( "#rangevalue" ).html( ui.value ); 
	в <output id="rangevalue"></output> все работает, но нужно сделать так чтобы выводилась не числовая последовательность, а опции этих radio (<input type="radio" value="Опция_1">), есть идеи на счет этого?  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 cript, 
	$( "#rangevalue" ).html(rd.eq(ui.value).val());  | 
	
		
 рони, 
	Снова выручил, огромное спасибо! Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Появился новый вопрос по этой теме. 
	Ставлю событие onclick на радио кнопку, При клике мышкой событие срабатывает, а при наведении ползунком нет..  | 
	
		
 cript, 
	код покажите  | 
	
		
 Цитата: 
	
 
<input type="radio" class="radio" name="button" value="<?=$value;?>" onclick="action('2500')">
Слайдер: 
<div id="slider-vertical" style="height:200px;"></div>
<script>
var rd = $('.output input:radio');
$("#slider-vertical").slider({
animate: true,
orientation: "vertical",
range: "min",
min: 0,
max: 5,
value: 0,
slide: function(event, ui) {
$("#rangevalue").html(rd.eq(ui.value).val());
rd.each(function(indx, element){  // первый вариант
$(this).prop({checked : indx == ui.value})
});
rd.eq(ui.value).prop('checked', true) // второй вариант
}
});
$("#rangevalue").val( $("#slider-vertical").slider("value"));
</script>
<label for="rangevalue">Value:</label>
<div id="rangevalue" style="border:0; color:#f6931f; font-weight:bold;"></div>
onclick пробовал заменять на onchange onselect onsubmit..  | 
	
		
 cript, всё работает 
	
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>slider demo</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/mint-choc/jquery-ui.css">
  <style>
  div {
      margin-top: 20px;
  }
  .slider {width : 500px; }
   	</style>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <script>
$(function ()
{
   var rd = $('.output input:radio');
$("#slider-vertical").slider({
animate: true,
orientation: "vertical",
range: "min",
min: 0,
max: 5,
value: 0,
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);
}
</script>
</head>
<body>
<div class="output">
<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('2500')">
 <input type="radio" class="radio" name="button" value="3" onclick="action('2500')">
 <input type="radio" class="radio" name="button" value="4" onclick="action('2500')">
 <input type="radio" class="radio" name="button" value="5" onclick="action('2500')">
 <input type="radio" class="radio" name="button" value="6" onclick="action('2500')">
 </div>
<label for="rangevalue">Value:</label>
<div id="rangevalue" style="border:0; color:#f6931f; font-weight:bold;"></div>
<div id="slider-vertical" style="height:200px;"></div>
</body>
</html>
 | 
	
		
 Цитата: 
	
 При нажатии мышкой появляется алерт сообщение, но при перемещении ползунка ничего не происходит.. Вот смотрите: http://dl91.internetrange.com/1/  | 
	
		
 cript, 
	в каком браузере у вас этот код неработает? Цитата: 
	
  | 
	
		
 Цитата: 
	
 В мозилле так же.. В IE тоже не срабатывает.  | 
	
		
 у меня везде работает :blink: 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 cript, 
	rd.eq(ui.value).trigger('click') добавьте это в 34 строку 20 пост -- но лучше запускать саму функцию вместо тригера типа action(rd.eq(ui.value).val())  | 
	
		
 cript, 
	добавлять это лучше в параметр stop: function(event, ui) { сюда }  | 
	
		
 Цитата: 
	
  | 
	
		
 cript, 
	Цитата: 
	
  | 
	
		
 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);
}
 | 
	
		
 рони, 
	Это почти то что нужно, однако все кнопки имеют разные значения онклик, например <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')"> А вышенаписанный вариант подходит только если у всех кнопок будет одно и то же событие..  | 
	
		
 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]) уже не выходит  | 
	
		
 cript, 
	нет слов... поменяйте 1 на 2500 , 2 на 3000 и тд в 11 строке если нужны буквы то поставьте кавычки "u1"  | 
	
		
 Цитата: 
	
 Еще один вопрос а если это переменные, то в какие кавычки нужно вставлять?  | 
	
		
 cript, 
	кавычек ненужно для переменных , но сами переменные должны быть в зоне видимости данной функции -- строка 2 тут можно обьявить  | 
	
		
 Цитата: 
	
  | 
	
		
 cript, 
	Здравствуйте! Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/ Задавайте конкретные вопросы по ходу дела.  | 
| Часовой пояс GMT +3, время: 08:08. |