在jQuery插件中调用函数

时间:2009-06-11 22:56:21

标签: jquery plugins

我正在创建我的第一个jQuery插件,它会自动将数字格式化为各种国际格式。插件中有几个函数可以剥离字符串并重新格式化需要从另一个jQuery脚本调用的字符串。

根据下面的插件结构(让我知道您是否需要整个代码)我可以调用参数并将参数发送到stripFormat(ii)targetFormat(ii, iv)函数吗?

或者我是否需要更改插件结构,如果是这样的话?

    (function($){
        var p = $.extend({
            aNum: '0123456789',
            aNeg: '-',
            aSep: ',',
            aDec: '.',
            aInput: '',
            cPos: 0
        });

        $.fn.extend({
             AutoFormat: function() {
                return this.each(function() {
                    $(this).keypress(function (e){
                        code here;
                    });

                    $(this).keyup(function (e){
                        code here;
                    });

                    // Would like to call this function from another jQuery script - see below.
                    function stripFormat(ii){
                        code here;
                    }

                    // Would like to call this function from another jQuery script - see below.
                    function targetFormat(ii, iv){
                        code here;
                    }

                });

            }
        });

    })(jQuery);

尝试调用插件函数的方法:

    jQuery(function(){
            $("input").change(function (){ //temp function to demonstrate the stripFormat() function.
                document.getElementById(targetElementid).value = targetFormat(targetElementid, targetValue);
            });
    });

我试图使用这些变体但没有成功:

    document.getElementById(targetElementid).value = $.targetFormat(targetElementid, targetValue);
    document.getElementById(targetElementid).value = $.autoFormat().targetFormat(targetElementid, targetValue);

1 个答案:

答案 0 :(得分:-1)

好吧,我可能更喜欢这个插件:http://www.stilldesigning.com/dotstring/jquery.string.1.0.js

$.string(" <p>this is a test</p> ").strip().stripTags().capitalize().str
> 'This is a test'

或者看看货币格式,获取值和选项对象。这似乎只适用于其他格式的情况。 http://plugins.jquery.com/project/currencyFormat

$('#some_element').currency() //will format the text of the element
$.currency(123456.78,{options}) //formats number and returns string

另外,对于使用document.getElementById("targetElement").value而不仅仅是$("targetElement").val()$("targetElement").html()

感到困惑