首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改jQuery Knob最小值/最大值

更改jQuery Knob最小值/最大值
EN

Stack Overflow用户
提问于 2014-06-26 06:22:47
回答 1查看 1.2K关注 0票数 3

我正在为jquery-knob小部件开发一个角度包装器。只要最大值不变,下面的方法就有效。如果是这样,那么ng-model绑定就会丢失。如果我没有在手表开始时销毁旋钮小部件,最大值不会改变。

代码语言:javascript
复制
//Directive
app.directive('knobWidget', function () {
    return {
        scope: {
            maxbinding: "=maxbinding",
            maxbindingprop: "@maxbindingprop"
        },
        restrict: 'A',
        require: 'ngModel',
        link: function (scope, elem, attrs, ngModel) {
            ngModel.$render = function () {
                $(elem).val(ngModel.$viewValue).trigger("change");
            };          
            scope.$watch('maxbinding', function (newVal) {
                $(elem).knob('destroy');
                $(elem).knob({
                    min: 0,
                    max: scope.maxbinding[scope.maxbindingprop],
                    value: ngModel.$viewValue,
                    change: function (changeVal) {
                        scope.$apply(function () {
                            ngModel.$setViewValue(changeVal);
                        });
                    }
                });
            });
        }
    };
});
//Markup
<input knob-widget data-min="0" maxbinding="arr" maxbindingprop="length" ng-model="currentStop" />

正在做什么:

代码语言:javascript
复制
$(elem).knob('max', scope.maxbinding[scope.maxbindingprop]);

也不管用。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-06-26 06:29:03

先使用trigger('configure'),然后使用trigger('change')应该可以解决这个问题

代码语言:javascript
复制
$(elem).trigger('configure', {
                  'max': scope.maxbinding[scope.maxbindingprop];
              });
$(elem).trigger('change');

Source

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24419582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档