以字符串作为输入的 jquery spinner

标签 jquery spinner

嗨,我搜索了,但没有找到这样的解决方案。是否可以使用 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();
});

http://jsfiddle.net/k46bA/

我完成了我自己的小部件。它使用字符串数组作为输入。

$.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/

相关文章:

android - 如何增加 Android 微调器的可点击宽度?

java.lang.ClassCastException : android. 部件.EditText

jquery - jQuery 中如何检测属性是否包含某个值?

jquery - MS MVC 形式的 AJAX 化技术

java - 我无法在微调器中设置 String[] 值

java - Android Java - OnCreate 中的竞争条件,带有两个观察者并制作列表

javascript - 使用数据表插件进行无重音搜索

javascript - 如何巧妙地连续使用多个独特的动画

JavaScript:变量值在函数之间丢失

Android Holo 主题不包含多行微调器下拉项