2009-10-03 194 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