2011-07-26 156 views
0

我正在使用jquery滑塊插件來創建一些滑塊。這項工作正常,當我直接加載它們時啓動dom,但是當我嘗試使用ajax innerHTML方法將滑塊加載到div時,他們沒有得到啓動。jquery滑塊通過ajax加載時不工作

有沒有什麼知道我能做到這一點?

回答

0

當您使用innerHTMl將滑塊添加到div時,您必須再次調用滑塊設置方法,以便在將滑塊添加到div時將事件附加到滑塊。 謝謝 Ashwani

0

嘗試使用$ .ajax方法中的OnComplete屬性來觸發滑塊的方法。這將確保該方法只會在ajax內容加載後觸發。

1

通過設置對象的innerHTML創建滑塊時,未對其進行初始化。 嘗試此代替(爲一個範圍滑塊):

$.ajax({ 
    url: "get_slider.php", 
    success: function(data){ 
    if(typeof(data) == 'string') data = JSON.parse(data); 
    $('#my_slider_id').slider({ 
      range: true, 
      min: data.min, 
      max: data.max 
     }); 
    }, 
    error: function(data){ 
    // Something went wrong, do stuff here 
    } 
}); 

在這裏,我們期望get_slider.php返回包含至少一個分鐘,用於實例化所述滑塊上的最大性能的JSON對象。

3

您必須重新啓動/綁定您的活動。

e.g

//Ajax done and innerHTML is set 
$('container').slider(); //Just an example... this will bind events. 

或者

您可以更改事件處理程序.live。這處理動態內容。