将文本框作为jQuery中的实例传递

时间:2012-07-24 05:58:18

标签: javascript jquery

var ctrl = $("<input />").decimalControl(AllowedDecimalValues).ControlContainer();
$.fn.decimalControl = function (Decimalvalues) {
    var settings = {
        'maxLength': '25',
        'defaultvalue': '00.00',
        'name': 'decimalcontrol',
        'type': 'number'
    };
    settings.MaxDecVal = Decimalvalues;
    return $(this).ControlBuilder(settings);
};
$.fn.ControlBuilder = function (settings) {
    return this.val(settings.defaultvalue)
        .attr('name', settings.name)
        .attr('value', settings.defaultvalue)
        .attr('type', settings.type)
        .attr('size', settings.maxLength);
};

上面代码的第一行会引发错误:

Object doesn't support property or method 'decimalControl'.

请提供帮助或替代解决方案。

1 个答案:

答案 0 :(得分:3)

您必须在代码使用之前添加.decimalControl()方法。在添加该方法的.decimalControl()行之后添加使用$.fn.decimalControl = function(...) {...}方法的第一行代码。