angular-bootstrap-slider将值作为字符串

时间:2016-01-13 16:27:00

标签: javascript jquery angularjs twitter-bootstrap

根据angular-bootstrap-slider使用bootstrap-slider

我试图按照名称(字符串)获取颜色的值,基于我之前的问题,例如Here,其中有一个很好的选项示例。

我们说我有两种颜色选择,Red&蓝色,用户选择一个,我想将其保存为'蓝色'。

我创建了一个working example on Plunker,并添加了以下代码

如果我使用数字对象,我设法得到的就是刻度值。

脚本:

map

HTML:

$scope.colorTypes = [0,1];

$scope.colorLabels = ['Red','Blue'];

$scope.colorTypeSlider = {
    ticks: $scope.colorTypes,
    ticks_labels: $scope.colorLabels,
    ticks_snap_bounds: 50
};
$scope.colorTypeVal = '';

1 个答案:

答案 0 :(得分:0)

我得到了你想要在this plunker工作的东西,但滑块肯定有一些奇怪的行为。我只能通过使用指令中的onStartSlide属性来触发回调来选择颜色。

<slider ng-model="colors" 
        ticks="colorTypeSlider.ticks"
        ticks-labels="colorTypeSlider.ticks_labels"
        ticks-snap-bounds="colorTypeSlider.ticks_snap_bounds" 
        on-start-slide="selectColor($event,value,colorTypeSlider.ticks_labels)"></slider>

由于某种原因,我无法将$scope.colors数组(对象)传递给函数,它只能使用一个字符串数组。无论如何,这是我使用的功能:

$scope.selectColor = function ($event,value,collection) {
  console.log('value is ' + value);
  $scope.selectedColor = collection[value];
};

我传递了$scope.colorTypeSlider.ticks_labels作为集合。

希望这可以帮助你...