0

首先,我想分享我对这个片段所做的惊人工作的赞赏(它真的是一个很酷的工具)。

我正在尝试在我目前正在开发的应用程序中使用 mobiscroll。我喜欢使用和自定义 mobiscroll 工具的简单性。

我真正发现只是模糊的是如何使用功能 changeWheel。我尝试了很多事情,但从未成功。

我想要完成的是改变第一个轮子的值(完全改变并重新生成第一个轮子),当我在我的第二个轮子中选择(实际上我想要的是一个改变事件)存在的两个参数中的一个时。

我构建了一个函数,为两个轮子创建数组,并相对于返回的第二个轮子的索引更改第一个轮子的数组。(我可以看到该函数有效,并且它为车轮生成了确切的值)。

那么我如何使用函数 changewheel 在 inst 上的 onchange 事件中实现这一点???

这个功能 changewheel 是否应该做我正在寻找的东西?

要非常清楚,请考虑以下示例:

一个人的第一轮重量 第二轮测量单位(公斤或磅)

如果我当场将 Lbs 更改为 Kg,我希望第一个轮子反映更改(更新可用值) - 例如,如果我将限制重量设置在 0 到 80kg 之间,则以 lbs 为单位的对应值需要在 0 到 177lbs 之间(整个转换由另一个自定义函数单独处理,它完全按照我的意愿工作)。

我不知道如何实现 changewheel 事件....一个示例或更深入的解释将非常有用。

非常感谢最好的迪努兹

4

2 回答 2

0

这里有一个简单的解释,如果你想更新一个不同的值,你需要传递 mobiscroll 的实例并调用方法选项

$(function(){
         var filtersMetrics = [{}];
        var wheelPosMetrics = []
        var wheelPosFunc1 = [];
        var wheelPosFunc = [];

        wheelPosMetrics[0] = "Connection";
        wheelPosMetrics[1] = "Shared";
        wheelPosMetrics[2] = "Deleted";

        filtersMetrics[0]['Metrics']=wheelPosMetrics;

        wheelPosFunc1[0] = "Count";

        wheelPosFunc[0] = "Count";
        wheelPosFunc[1] = "Sum";
        wheelPosFunc[2] = "Avg";

        filtersMetrics[0]['Func']=wheelPosFunc1;


        var metricsScroller = $("#select").mobiscroll().scroller({
            theme : 'android',
            display : 'inline',
            mode: 'scroller',
            wheels: filtersMetrics,
            rows: 3,
            'onChange' : function(v, i , e){


                if(v[0]==1){
                    filtersMetrics[0]['Func']=wheelPosFunc;
                    metricsScroller.mobiscroll('option', 'wheels', filtersMetrics); 
                }else{
                    filtersMetrics[0]['Func']=wheelPosFunc1;
                    metricsScroller.mobiscroll('option', 'wheels', filtersMetrics);
                }



            }
        });

});

我用的是2.5版本

于 2013-04-05T12:51:39.040 回答
0

我也无法让 changeWheel 工作,但我找到了一种解决方法(我使用的是 Mobiscroll v2.15.1)。

在 onChange–Handler 中,您可以动态设置默认值:

.
.
.
onChange: function (values) {

   // here your logic for the current values            

   if (/*here your condition*/) {

      // Example for three wheels:      
      var curWheel = ["1", "2", "3"];

      // set the default values
      $(/*your element*/).mobiscroll("setArrayVal", curWheel, true);
    }
},
.
.
.
于 2015-05-15T22:01:35.567 回答