jquery中的字母数字范围滑块

时间:2015-06-17 15:18:53

标签: javascript jquery jquery-ui

我正在尝试为字母数字字符创建一个简单的范围滑块(例如AAA12,AAB11,BA21,BC33,FG34),但没有成功。

我正在使用https://jqueryui.com/slider/#range-vertical,但看起来不支持字母数字。

这是小提琴手:https://jsfiddle.net/99x50s2s/66/

JS

$( "#slider-range" ).slider({
      orientation: "vertical",
      range: true,
      values: [ 17, 67 ],
      slide: function( event, ui ) {
        $( "#codes" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
      }
    });
    $( "#codes" ).val($( "#slider-range" ).slider( "values", 0 ) +
      " - " + $( "#slider-range" ).slider( "values", 1 ) );

当我尝试在滑块值中设置字母数字字符时,它根本不会渲染。

问题:

如何启用范围滑块以支持字母数字字符?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

我做过类似的事情。我将值放入一个数组,然后使用滑块作为数组索引。有点像这样:

var arrCodes = [
    'AAA12',
    'AAB11',
    'BA21'
];

然后您可以在滑块上设置minmax值,如下所示:

min: 0,
max: arrCodes.length - 1

然后,当您想知道滑块中选择的值时:

slide: function(event, ui) {
    console.log('Min: ' + arrCodes[ui.values[0]]);
    console.log('Max: ' + arrCodes[ui.values[1]]);
}

我已更新您的JSFiddle:https://jsfiddle.net/99x50s2s/67/