2009-10-03 99 views
0

在下面的代码中是将滑块类转换为滑块控件的函数。它具有在发生“滑动”事件时执行的功能。jquery选择问题

$(function(){ 
       $(".slider").slider({ 
        value: 0, 
        min: 0, 
        max: 5, 
        step: 1, 
        slide: function(event, ui) { 
         $(".slideinput > input.slidevalue").val(ui.value); 
        } 
       }); 
      }); 

当我在一个页面上有多个滑块时,此代码无法正常工作。 (它正在改变所有这些)我该如何解决它?我不知道如何设置第二个元素选择状态来选择具有唯一标识的元素。 (id是动态生成的)

某些HTML用于说明元素的位置。

<div class="item"> 
      <p class="head"> 
       A kako biste općenito ocijenili sljedeće aspekte ljetne turističke ponude u Hrvatskoj: Kvaliteta smještaja?</p> 

      <div class="slideinput" style="width: 220px; height: 20px; padding-top: 10px; padding-left: 8px;"> 
       <div style="width: 200px;" class="slider"> 
       </div> 
       <input class="slidevalue" id="q34" name="q34" type="hidden" value="0" /> 
      </div> 

     </div> 

     <div class="item"> 
      <p class="head"> 
       Broj plaža?</p> 

      <div class="slideinput" style="width: 220px; height: 20px; padding-top: 10px; padding-left: 8px;"> 
       <div style="width: 200px;" class="slider"> 
       </div> 
       <input class="slidevalue" id="q35" name="q35" type="hidden" value="0" /> 
      </div> 

     </div> 

     <div class="item"> 
      <p class="head"> 
       Urednost plaža?</p> 

      <div class="slideinput" style="width: 220px; height: 20px; padding-top: 10px; padding-left: 8px;"> 
       <div style="width: 200px;" class="slider"> 
       </div> 
       <input class="slidevalue" id="q36" name="q36" type="hidden" value="0" /> 
      </div> 

     </div> 

     <div class="item"> 
      <p class="head"> 
       Kvaliteta restorana i kafića?</p> 

      <div class="slideinput" style="width: 220px; height: 20px; padding-top: 10px; padding-left: 8px;"> 
       <div style="width: 200px;" class="slider"> 
       </div> 
       <input class="slidevalue" id="q37" name="q37" type="hidden" value="0" /> 
      </div> 

     </div> 

任何解决方案?

+0

你会发布一些HTML吗? – 2009-10-03 00:39:33

回答

3

我不确定“幻灯片”事件 - 但大多数jQuery事件将有this设置为目标元素。

你试过做console.log(this);(假设萤火虫)看你有什么?

您可能能够做到这一点:

与评论更新时间:

看来你输入的要素是“滑”的父母,而不是滑块的孩子,改变了代码块以反映你的。

slide: function(event, ui) { 
    $(this).parent().find("input.slidevalue").val(ui.value); 
} 
+0

糟糕,更正...我测试了这个,它的工作原理如果你这样做... $(this).parent()。find('input.slidevalue').val(ui.value); 我还是给你投了票:P – Mottie 2009-10-03 02:04:16

+0

我删除了我自己的答案,因为它会是你的重复。 – Tarik 2009-10-03 02:27:21

+0

是的,它的工作原理。 TNX – Ante 2009-10-03 09:19:51