jQueryUI - 一页上有多个滑块

时间:2012-06-14 20:16:19

标签: javascript jquery-ui

我想在一个页面上安装多个jQuery ui滑块。我看了一堆例子,仍然不明白为什么我不能让它工作。这是我的代码。

HTML

  <div class='eigenvalue'>
    <div class="slidername">Eigenvector 1</div>
    <div id='s1' class="slider"></div>
    <div id='r1'  class="slider-result">0</div> 
  </div>
  <div class='eigenvalue'>
    <div class="slidername">Eigenvector 2</div>
    <div id='s1' class="slider"></div>
    <div id='r1'  class="slider-result">0</div> 
  </div>

Javascript

$(function(){
  $('.eigenvalue').each(function(){
    $( this).('#s1').empty().slider({
       animate: true,
       range: "min",
       value: 0,
       min: -5,
       max: 5,
       step: 0.1,
       slide: function( event, ui ) {
         $( this ).('#r1').html( ui.value );
       },
      change: function(event, ui) {

        //Functionality 
       }
    });
  });
});

如果有人能指出我正确的方向,我将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

感谢下面的一些评论,确定了问题 - 我需要使用.find()

以下是正确的javascript代码:

$(function(){
  $('.eigenvalue').each(function(){
    $( this).find('#s1').empty().slider({
      animate: true,
      range: "min",
      value: 0,
      min: -5,
      max: 5,
      step: 0.1, //this gets a live reading of the value and prints it on the page
      slide: function( event, ui ) {
        $( this ).find('#r1').html( ui.value );
      },
      change: function(event, ui) {
      }
    });
  });
});