2015-01-31 67 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); 
    } 
});