首先,我要分享我对这个片段所做的惊人工作的赞赏(这真的是一个很酷的工具)。
我正在尝试在我正在开发的应用中使用mobiscroll。我喜欢使用和自定义mobiscroll工具是多么容易。
我真正发现的只是模糊不清,如何使用功能changeWheel 。我尝试过很多东西,但从未取得成功。
我想要完成的是改变第一个轮子的值(完全改变并重新生成第一个轮子),当我在我的第二个轮子中选择时(实际上我想要的是一个改变事件)两个中的一个参数存在。
我构建了一个为两个轮子创建数组的函数,并且相对于返回的第二个轮子的索引更改了第一个轮子的数组。 (我可以看到该功能有效,并且它为轮子生成了确切的值)。
然后我可以使用函数转换器在inst上使用onchange事件来实现它
这个功能改变轮是否可以做我正在寻找的东西?
非常清楚,以此为例:
一个人的第一轮重量 第二轮测量单位(kg或Lbs)
如果我将现场Lbs更改为Kg,我希望第一个轮子反映更改(更新可用值) - 例如,如果我将限制重量设置在0到80kg之间,则lbs中的对应值需要介于两者之间0和177lbs(整个转换与另一个自定义函数分开处理,它完全按照我的意愿工作)。
我无法弄清楚如何实现改变轮事件....一个例子或更深层次的解释将非常有用。
非常感谢你 最好 Dinuz
答案 0 :(得分: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版本
答案 1 :(得分:0)
我也无法让changeWheel工作,但我找到了解决方法(我使用的是Mobiscroll v2.15.1)。
在onChange-Handler中,您可以设置dynamicaly的默认值:
.
.
.
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);
}
},
.
.
.