Вызов функции в плагине jQuery - PullRequest
3 голосов
/ 12 июня 2009

Я нахожусь в процессе создания моего первого плагина 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 голосов
/ 12 июня 2009

Ну, я бы, наверное, сделал это больше как этот плагин: 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()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...