嗨,我搜索了,但没有找到这样的解决方案。是否可以使用 jquery 创建一个微调器,其中输入文本值(字符串)而不是数字。或者换句话说,与此 http://jsfiddle.net/yaQSP/ 相同而是 ..-1,0,1.. 从字符串列表或数组中旋转文本值。
最佳答案
之前的答案不起作用。我在给定的链接下使用 chrome 和 firefox 测试了它。
看here另一种解决方案。
您需要覆盖微调器小部件的 _parse 和 _format 函数。
这是一个简单的类似 bool 型旋转器的示例:
$.widget("ui.boolspinner", $.ui.spinner, {
options: {
min: 0,
max: 1,
start: 1
},
_parse: function (value) {
if (typeof value === "string") {
return (value.toLowerCase() == "ja")?1:0;
}
return value;
},
_format: function (value) {
return (value == 1)?"Ja":"Nein";
}
});
$(function() {
$("#spinner-testprint").boolspinner();
});
我完成了我自己的小部件。它使用字符串数组作为输入。
$.widget("ui.formatSpinner", $.ui.spinner, {
options: {
},
_parse: function (value) {
if (typeof value === "string") {
return this.options.values.indexOf(value);
}
return value;
},
_format: function (value) {
//wrap around
if (value < 0) {
value = this.options.values.length-1;
}
if (value > this.options.values.length-1) {
value = 0;
}
var format = this.options.values[value];
return format;
},
});
用法:
//paper type spinner
var arrPaperTypes = ["Standard 80g", "Standard 100g", "Gloss 100g", "Gloss 120g"];
$(function() {
$("#spinner-paper").formatSpinner({
values: arrPaperTypes
});
});
关于以字符串作为输入的 jquery spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245047/