2010-07-21 30 views
2

我有一個選擇標籤.change不起作用,當通過另一個腳本價值變動

<select name="valueAA" id="valueAA">

我使用UI Slider,我需要編寫一個函數的onchange選擇標記的,但是當它通過滑塊更改,我的功能不起作用。

$("#valueAA").change(function() 
     { 
      alert("works");// doesn't work 
     }) 

可我避免這樣的行爲不改變ui slider腳本,什麼是這種行爲的解釋?

感謝

UPDATE

腳本看起來像這樣

$(function(){ 
       $('select#valueAA, select#valueBB').selectToUISlider({ 
        labels:6 

       }); 
    }); 

在這裏我必須把thise腳本? (我試過很多不同的:))

$(".selector").bind("slidechange", function(event, ui) { 
    ... 
}); 

回答

0

的選擇正在通過控制自身改變,所以改變事件心不是被觸發。您應該嘗試綁定ui滑塊上的更改事件,並使用以下代碼觸發select上的更改事件。

$("#valueAA").trigger("change"); 
+0

是不可能不改變他們的腳本嗎? – Simon 2010-07-21 16:18:21

+0

你不改變腳本。只需將我的代碼與Andy的代碼結合起來並粘貼到selectToUISlider()下。 – Fabian 2010-07-21 16:22:25

+0

看更新請問 – Simon 2010-07-21 16:32:09

2

從我所看到的UI滑塊寫在jQuery UI's slider之上。 jQuery UI滑塊有可以點擊的事件,startslidechange and stop。使用來自文檔的例子,你可以嘗試:

// Bind to the change event by type: slidechange. 
$("#valueAA").bind("slidechange", function(event, ui) { 
    $(this).change(); 
}); 

OR,使用更新後的例子,在選擇供應回調滑塊:

$(function(){ 
      $('select#valueAA, select#valueBB').selectToUISlider({ 
       labels:6, 
       change: function (event, ui) { $(this).change(); } 
      }); 
}); 
+0

我必須把它放在哪裏?當我把它放在主要功能中時不起作用:/ – Simon 2010-07-21 16:34:33

+0

@Syom:確保你有選擇器,並確保滑塊初始化**第一**。您也可以將其作爲初始化函數的一個選項提供 - 我更新了示例以顯示兩種方法。 – 2010-07-21 16:41:59

+0

無法正常工作我試過:/ – Simon 2010-07-21 16:50:14

2

我這個掙扎了一段時間,但找到答案是這樣的:

$('.slider').selectToUISlider({ 
    sliderOptions: { 
     change:function() { 
      alert("works"); 
     } 
    } 
}); 
+1

謝謝爲我工作。 – pacman 2013-01-11 21:43:50

相關問題