2015-01-31 91 views
1

我有一個jQuery UI的滑塊:返回chaged手柄的指數的jQuery UI的滑塊

$("#slider").slider({ 
    values: [ 10, 25,45,176 ], 
    max: 190, 
    change: function(event, ui) { 
     var index = $("#slider span").index(ui.handle); 
     $("#index").text("That was handle index #" + index); 
    } 
}); 

我要回改變的單手柄的索引。但句柄對象返回所有跨度(句柄)。

我該怎麼做?

回答

2

change事件功能中,ui.handle是已更改的元素。因此,請使用$(ui.handle).index()來訪問元素的索引。注意:該索引是從零開始的。

Example Here

$("#slider").slider({ 
    values: [ 10, 25,45,176 ], 
    max:190, 
    change: function(event, ui) { 
     var index = $(ui.handle).index(); 
     $("#index").text("That was handle index #" + index); 
    } 
}); 
+0

對於所有句柄都返回-1。 – behnamizadi 2015-01-31 21:01:51

+1

@behnamizadi我有一個錯字,看到更新。它在我發佈的示例中不會返回「-1」。 – 2015-01-31 21:02:28

0

對於任何人添加的handleIndex屬性的ui對象,如果您需要在當前手柄的指數,你可以使用,例如March 2015 patch之後看到的是:

$("#slider").slider({ 
    values: [10, 25, 45, 176], 
    max: 190, 
    change: function(event, ui) { 
     var index = ui.handleIndex; 
     $("#index").text("That was handle index #" + index); 
    } 
});